2007년 12월 9일 일요일

[DOM] document.all 을 쓰지마라

document.all 은 IE에서만 동작한다.

같은 name을 가진 input이 여러개 있을 때 document.form0.inputName.length 이런 식으로 사용하는 경우도 있다.

이 또한 IE에서만 동작한다.


w3c 스펙에 나와있는 document.getElementById 나 document.getElementsByName을 사용하여야 한다.

1. getElementById는 element를 반환한다. 다음과 같이 사용한다.

var ele = document.getElementById("testID");
alert(ele.value);


2. getElementsByName은  nodelist를 반환한다. 다음과 같이 사용한다.

var nodelist = document.getElementsByName("testName");
for ( var i=0; i<nodelist.length; i++ ) {
  alert(nodelist.item(i).value);
}


참고 : http://developer.mozilla.org/en/docs/DOM:document
Spec : http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-1006298752

댓글 없음:

댓글 쓰기