브라우저의 종류에 따라서 text 값을 바꾸는 방식이 모두다 적용되는것은아니다.
아래 내용은 IE6, Netscape 6.2 and 7, Firefox 1.04, Opera 8 on the PC. 동일하게 적용되는
과정을 알아본다.
<input type="button"> 선언된 버튼의 value 값을 바꿔보는데
첫번째 예제는 getElementById("ID").value 변수로 값을 바꾸는 방식이다
<input type="button" value="Button Text" id="myButton1"></input>
document.getElementById("myButton1").value="New Button Text";
위의 방식은 IE6 에서는 "Unknown Runtime Error; Netscape 7 에서는 won't change the text
에러가 날것이다. 그래서 두번째는 innerHTML 을 사용해서 바꾸는 방식이다.
document.getElementById("myButton1").innerHTML="New Button Text";
다음은 버튼 태그 사이의 text 값을 바꿔본다.
innerHTML 을 사용해서 바꾸었다.
document.getElementById("myButton2").innnerHTML= "New Button Text using innerHTML";
<button type="button" id="myButton2">Button Label</button>
위의 방식은 Netscape 6.2 and 7.02 에서 쓰레기 값을 가져오게 되어 에러가 발생한다.
그래서 childNodes 를 아래와 같이 사용한다.
이와 같이 값을 바꾸고자 할때 버전에 구애받지 않게 적용하고 싶을 것이다.
아래의 함수는 처음에 childNodes 바꿀수 있는지 체크해서 시도하고 그게 안된다면 value 로 적용한다
그리고 그것도 안된다면 innerHTML 을 사용하는 전천후 함수이다.
<SCRIPT LANGUAGE="JavaScript">
<!--
function replaceButtonText(buttonId, text)
{
if (document.getElementById)
{
var button=document.getElementById(buttonId);
if (button){
if (button.childNodes[0]){
button.childNodes[0].nodeValue=text;
}
else if (button.value){
button.value=text;
}
else //if (button.innerHTML){
button.innerHTML=text;
}
}
}
}
//-->
</SCRIPT>
replaceButtonText('myButton1', 'new button text');
'웹 프로그래밍 > 자바스크립트' 카테고리의 다른 글
Javascript 에서 알아야할 기초사항 (1) | 2009.02.18 |
---|---|
Select 박스 선택시 그 값을 알수 있는 코드 예제 (0) | 2009.02.17 |
Javascript 에서 랜덤으로 배너를 출력하고 싶을 때 (0) | 2009.02.11 |
동적으로 테이블을 추가하는 방법과 Disable 처리 예제 (0) | 2009.01.15 |
jQuery 라이브러리 사용을 쉽게하는 전용 IDE – Aptana (0) | 2008.12.30 |
파이어폭스 설치 사용하기 (0) | 2008.12.26 |
javascript 디버깅 툴 - Companion.JS (0) | 2008.12.22 |
새창을 데이타 크기에 따라서 자동조절되는 프린트 화면 (0) | 2008.10.25 |