본문 바로가기
Frontend/JavaScript

[Javascript] DOM 탐색

by joy_95 2022. 1. 10.

트리 상단의 documentElement와 body

✔️ <html> = document.documentElement

✔️ <body> = document.body

✔️ <head> = document.head

 

childNodes, firstChild, lastChild로 자식 노드 탐색하기

✔️ childNodes : 모든 자식 노드를 담고 있다. 요소의 자식 노드들을 탐색할 수 있다.

for(let i=0; i<document.body.childNodes.length; i++){
	console.log(document.body.childNodes[i]); //Text, DIV, Text, UL, ... , SCRIPT
}

✔️ firstChild : 첫번째 자식을 지정

✔️ lastChild : 마지막 자식을 지정

 

❗️ 위의 DOM 요소들은 읽기 전용이다. 자식 노드를 변경하는 것이 불가능하다.

 

형제와 부모 노드

✔️ nextSibling : 다음 형제에 대한 노드 정보

✔️ previousSibling : 이전 형제 노드에 대한 정보

✔️ parentNode : 부모 노드에 대한 정보

 

요소 간 이동

✔️ 실무에서는 텍스트노드, 주석노드는 다루지 않기 때문에 웹 페이지의 구성 요소들만 탐색하는 노드들이 있다

https://ko.javascript.info/dom-navigation

✔️ parentElement : 부모 요소 노드

✔️ previousElementSibling/nextElementSibling : 형제 요소 노드

✔️ children : 해당 요소의 자식 요소들

✔️ firstElementChild / lastElementChild : 첫번째, 마지막 자식 요소 노드

 

요약

- 탐색 프로퍼티를 이용해서 부모, 형제, 자식 노드들로 바로 이동할 수 있다.

- 탐색 프로퍼티는 크게 두 개의 집합으로 나뉜다.

   - 모든 노드에 적용 가능한 : parentNode, childNodes, firstchild, lastChild, previousSibling, nextSibling

   - 요소 노드에만 적용 가능한 : parentElement, children, firstElementChild, lastElementChild, previousElementSibling, nextElementSibling

 

Reference

반응형