В чем разница между node.nextSibling и ChildNode.nextElementSibling?

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

Разве они не одно и то же?

Оба возвращают сразу же после node. Я читал много статей, но мне кажется, что то же самое, но не могу понять, где использовать один против другого?

Ответ 1

nextElementSibling всегда возвращает элемент. nextSibling может возвращать любой вид node. Они одинаковы для вашего примера, но отличаются в других случаях, например:

<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').nextElementSibling есть span-02, но document.getElementById('span-01').nextSibling - это текст node, содержащий "Некоторый текст на верхнем уровне".