remove create javascript dom nodes

javascript - create - ¿Cuál es la diferencia entre node.nextSibling y ChildNode.nextElementSibling?



remove element javascript (1)

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

¿No son lo mismo?

Ambos devolviendo el nodo seguido inmediatamente. Leí muchos artículos pero me parece lo mismo, pero ¿no puedo saber dónde usar uno frente a otro?


nextElementSibling siempre devuelve un elemento. nextSibling puede devolver cualquier tipo de nodo. Son iguales para su ejemplo, pero diferentes en otros casos, por ejemplo:

<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>

En este caso, document.getElementById(''span-01'').nextElementSibling es span-02 , pero document.getElementById(''span-01'').nextSibling es el nodo de texto que contiene "Algún texto en el nivel superior" (o como lo señaló @Manngo en los comentarios, el espacio en blanco que separa ese texto del elemento anterior (parece que algunos navegadores colocan los espacios en blanco entre los elementos y los nodos que no son espacios en blanco en nodos separados, mientras que otros lo combinan con el resto del texto) .