이란 - screen javascript



node.nextSibling과 ChildNode.nextElementSibling의 차이점은 무엇입니까? (1)

<div id="div-01">Here is div-01</div> <div id="div-02">Here is div-02</div>

그들은 같은 것이 아닌가?

두 노드 모두 즉시 노드를 반환합니다. 나는 많은 기사를 읽었지만 나에게도 똑같은 것처럼 보이지만, 다른 것을 사용할 곳을 생각할 수는 없다.


nextElementSibling 항상 요소를 반환합니다. nextSibling 은 모든 종류의 노드를 반환 할 수 있습니다. 귀하의 예에서는 동일하지만 다른 경우에는 다릅니다 :

<p><span id="span-01">Here is span-01</span>
Some text at the top level
<span id="span-02">Here is span-02</span></p>

이 경우, document.getElementById('span-01').nextElementSiblingspan-02 이지만 document.getElementById('span-01').nextSibling 은 "최상위 레벨에있는 일부 텍스트" 주석에서 @Manngo가 지적한 것처럼 위의 요소와 텍스트를 구분하는 공백 - 일부 브라우저는 요소와 공백이 아닌 노드 사이에 공백을 넣고 다른 노드는 다른 텍스트와 결합합니다. .





nodes