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

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
손님

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

Post 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") 이것도 안되고..

도와주세요~
손님

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

Post 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") 이것도 안되고..

도와주세요~
hyeonseok
해커
해커
Posts: 691
Joined: 2004 08 11 22:14 59
Contact:

Post by hyeonseok »

id 의 값은 한개의 문서 안에 한개만 존재 할 수 있습니다.
name 은 여러개가 가능합니다.

document.getElementsByName("id1").length

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

엘리먼트 셋을 가져 오시려면 name 을 사용하셔야 합니다. id 는 한개만 참조가 가능합니다.
박민권
해커
해커
Posts: 724
Joined: 2005 01 31 22:33 55
Location: 대한민국
Contact:

id는 문서에 단 하나

Post 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
... 그외 다수

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

Who is online

Users browsing this forum: No registered users and 1 guest