2008-09-19 5 views

답변

6

document.getElementsByTagName ('a')는 배열을 반환합니다. 자세한 내용을 보려면 여기를 클릭하십시오 : http://developer.mozilla.org/En/DOM/Element.getElementsByTagName

수정 : 실제 배열을 원한다면 Array.from(document.getElementsByTagName('a'))과 같은 것을 사용해야합니다. 요즘은 Array.from(document.querySelectorAll('a'))을 원할 것입니다. 브라우저가 아직 지원하지 않으면 polyfill Array.from() 일 수 있습니다. https://polyfill.io/v2/docs/을 매우 추천 할 수 있습니다 (어떤 방식 으로든 관계하지 않음)

+1

'document.getElementsByTagName'은 많은면에서'Array'와 비슷하지만'Array'가 아닌'NodeList'를 반환합니다. 어쩌면 배열과는 달리 용어 모음을 사용해야합니다. –

4

$$()을 사용하고 CSS 선택기를 전달하십시오.

이 당신에게 단지 태그 이름을 넘어 더 많은 전력을 제공하는 Prototype API documentation for $$()

을 읽어보십시오. 클래스, 부모/자식 관계 등으로 선택할 수 있습니다. 일반 브라우저보다 더 많은 CSS 선택기를 지원합니다.

1

마티아스 Kestenholz :

getElementsByTagName은 라이브 목록의 배열과 같은하지만 배열이 아닌 NodeList를 객체를 반환합니다.

var test = document.getElementsByTagName('a'); 
alert(test.length); // n 
document.body.appendChild(document.createElement('a')); 
alert(test.length); // n + 1 
0

getElementsByTagName을 사용하는 경우 $ A()로 감싸서 배열을 반환해야합니다. 그러나 nertzy가 제안한대로 $$ ('a')를 사용하면됩니다.

1

$$(tag-name)[n]을 사용하여 컬렉션에서 특정 요소를 가져올 수도 있습니다.