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는 공백과 주석 그리고 태그 전부를 가져오는 걸 확인할 수 있다.