목차
NodeList 객체
NodeList 개수
(HTMLCollection / NodeList ) 비교
NodeList 객체
웹문서에서 추출한 노드 집합
PS.
HTMLCollection 객체와 거의 유사. 즉, 배열은 아니나 배열처럼 색인번호(index) 통해서 각 노드에 접근 가능. 색인번호는 0부터 시작 .
일부 (구형) 브라우저는 getElementsByClassName() 과 같은 메서드에 대해 HTMLCollection 대신 NodeList 객체 반환.
모든 브라우저는 childNodes 속성에 대해 NodeList 객체 반환.
대부분 브라우저는 querySelectorAll() 메서드에 대해 NodeList 객체 반환.
[예제]
<h2>홈짱닷컴 Homzzang.com</h2>
<p>HTML</p>
<p>CSS</p>
<p>JS</p>
<p id="demo"></p>
<script>
var ps = document.querySelectorAll ("p");
var text = ps[1].innerHTML; // 2번째 P요소 텍스트
document.getElementById("demo").innerHTML = text;
</script>
결과보기
NodeList 개수
length 속성 : NodeList 안의 노드 개수
NodeList 안 노드에 대해 반복문 적용 시 매우 유용. (2번째 예제)
[예제1]
<h2>홈짱닷컴 Homzzang.com</h2>
<p>HTML</p>
<p>CSS</p>
<p>JS</p>
<p id="demo"></p>
<script>
var ps = document.querySelectorAll ("p");
var num = ps.length ;
document.getElementById("demo").innerHTML = num; // 4
</script>
결과보기
[예제2]
<h2>홈짱닷컴 Homzzang.com</h2>
<p>HTML</p>
<p>CSS</p>
<p>JS</p>
<button onclick="homzzang()">클릭</button>
<script>
function homzzang() {
var ps = document.querySelectorAll ("p");
var i;
for (i = 0; i < ps.length ; i++) {
ps[i] .style.color = "red";
}
}
</script>
결과보기
(HTMLCollection / NodeList ) 비교
[유사점]
배열은 아니지만, 배열처럼 색인번호 통해 각 객체 안 요소(노드)에 대해 접근 가능.
색인번호는 0부터 시작. (※ 반복문 가능)
배열 아니기 때문에 배열 메서드 사용 불가. (예) valueOf() , push() , pop() , join()
[차이점]
HTMLCollection
이름, ID, 색인번호로 각 요소에 접근 가능.
속성노드와 텍스트노드 못 갖음.
NodeList
색인 번호로만 각 노드에 접근 가능.
속성노드와 텍스트노드 갖을 수 있음.
주소 복사
랜덤 이동