Page 1 of 1

객체 배열 얻기가 안됩니다.

Posted: 2005 06 21 16:01 05
by 손님
<a id='id1'>아이디1</a>
<a id='id1'>아이디1</a>
<a id='id1'>아이디1</a>

<a id='id2'>아이디2</a>
<a id='id2'>아이디2</a>
<a id='id2'>아이디2</a>


-----------------------------------------

동일한 아이디를 가진 객체를 배열로 접근하려합니다.

document.getElementsByName("id1").length

이렇게 시도하였으나 결과는 0 이네요..

document.getNamedItem("id1") 이것도 안되고..

도와주세요~

에공 태그가 사라졌네요..

Posted: 2005 06 21 16:20 36
by 손님
<a id="id1">아이디1 </a>
<a id="id1">아이디1 </a>
<a id="id1">아이디1 </a>

<a id="id2">아이디2 </a>
<a id="id2">아이디2 </a>
<a id="id2">아이디2 </a>

동일한 아이디를 가진 객체를 배열로 접근하려합니다.

document.getElementsByName("id1").length

이렇게 시도하였으나 결과는 0 이네요..

document.getNamedItem("id1") 이것도 안되고..

도와주세요~

Posted: 2005 06 21 18:19 25
by hyeonseok
id 의 값은 한개의 문서 안에 한개만 존재 할 수 있습니다.
name 은 여러개가 가능합니다.

document.getElementsByName("id1").length

은 name="id1" 인 element 를 가져오게 됩니다.

엘리먼트 셋을 가져 오시려면 name 을 사용하셔야 합니다. id 는 한개만 참조가 가능합니다.

id는 문서에 단 하나

Posted: 2005 06 21 19:14 52
by 박민권
id는 문서에 하나만 존재하여야 합니다.
때문에 getElementById 인 것입니다.
getElementsByName 와 잘 비교해보세요.

get(Element)ById, get(Elements)ByName -> 단수와 복수의 차이가 보이죠? :)

Code: Select all

<input type="text" name="objs[]">
<input type="text" name="objs[]">
<input type="text" name="objs[]">

document.getElementsByName('objs').length;
위의 코드처럼은 가능합니다.

Code: Select all

<a id='id1'>
<a id='id2'>
<a id='id3'>

for(i=1;i<=3;i++){
   document.getElementById('id'+i);
}
id로 접근하려면 위와같이 하실 수 있습니다.

Code: Select all

<div id='box'>
  <a>1</a><a>2</a><a>3</a>
</div>

document.getElementById('box').childNodes.length; //노드의 갯수
위의 코드처럼 노드의 갯수를 알아 낼 수도 있습니다.
단 여백도 text객체로 잡히므로 총 노드의 갯수는 5개가 나옵니다.

노드를 통한 접근에는
childNodes
firstChild
lastChild
appendChild
removeChild
... 그외 다수

위와 같은 메소드가 존재합니다.
구글 검색등을 통해 노드를 통한 접근 샘플 소스를 구하실 수 있을 겁니다.