HTML DOM은 노드라고 불리는 계층적 단위에 정보를 제공한다. 노드 트리는 노드들의 집합이며 노드 간의 관계를 보여준다. 노드 트리는 최상위 레벨인 루트 노드로부터 시작하여, 가장 낮은 레벨인 텍스트 노드까지 내려간다.
현재 노드의 부모 노드를 반환해줌
const firtsChild = document.querySelector('b')
firstChild.parentElement
현재 노드의 자식 노드들을 반환해줌
const parentNode = document.querySelector('div');
parentNode.children
nextSibling
은 현재 노드의 형제 요소를 반환해주고 previousSiblings는 현재 노드의 이전 형제 요소를 반환해준다.
<html>
<div id="a"></div>
nextSibling테스트
<div id="b"></div>
</html>
var aDiv = document.getElementById("a");
console.log(aDiv.nextSibling); //nextSibling테스트
nextElementSibling과 previousElementSibiling의 차이점은 무엇일까?
<html>
<div id="a"></div>
nextSibling테스트
<div id="b"></div>
</html>
var aDiv = document.getElementById("a");
console.log(aDiv.nextSibling); //nextSibling테스트
console.log(aDiv.nextElementSilbing) //<div id="b"></div>
nextSibling
을 실행하면 다음과 같이 다음 형제 요소인 텍스트 노드가 나오게 된다. 그러나 nextElementSibling
을 실행하게 되면 다음 HTML 요소가 나오게 된다.