JavaScript

childNodes와 children의 차이

깅민 2021. 8. 15. 00:51

 

지난번에 작성한 querySelector에 관해 공부하다가 childNodes와 children의 차이에 대해 추가로 궁금중이 생겨서 찾아보았다.

 

 

querySelector란?

querySelector라는 게 있는지 알고 있었지만 getElementById만 사용하다보니 querySelector를 사용할 일이 없었다. 언젠가 정리를 해보자고 마음만 먹고 있다가 생각이 나서 정리해둔다. getElementById의 경우

gingmin.tistory.com

 

element보다 node가 상위에 있는 관계만 알고 있다면 쉽게 접근할 수 있을 것 같다.

element는 태그 요소들을 가리키므로 children은 모든 태그를 가져온다면,

childNodes는 태그뿐 아니라 주석, 텍스트 등 모든 요소를 가져온다고 볼 수 있다. 

 

<div id="test">
    <span>cat</span>
    <!-- 주석 -->
    <span>dog</span>
</div>

<script>

let test = document.querySelector('#test');
console.log(test.children);
console.log(test.childNodes);

</script>

 

 

console을 출력했을 때

 

children은 태그만 가져오는 반면

childNodes는 공백과 주석 그리고 태그 전부를 가져오는 걸 확인할 수 있다.