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