⊗jsPmNdInr 393 of 505 menu

Trabajo con nodos en JavaScript

Como sabes, las etiquetas pueden contener otras etiquetas o, en términos de JavaScript, los elementos DOM pueden contener otros elementos DOM. Además de esto, sin embargo, pueden tener comentarios y texto simple. Los comentarios, textos y elementos DOM se unen bajo un nombre: nodos.

Ya estás familiarizado con las propiedades firstElementChild, lastElementChild, nextElementSibling, previousElementSibling. Estas propiedades funcionan precisamente con elementos DOM, ignorando otros nodos. Por regla general, eso es exactamente lo que necesitamos.

Sin embargo, también existen las propiedades firstChild, lastChild, nextSibling, previousSibling. Estas propiedades funcionan de manera similar, pero teniendo en cuenta todos los nodos. Veamos la diferencia entre estas propiedades con un ejemplo. Supongamos que tenemos un div que contiene tres nodos:

<div id="elem"><!--com-->text<span>tag</span></div>

Obtengamos una referencia a este div en una variable:

let elem = document.querySelector('#elem');

Y ahora veamos qué contienen las propiedades firstChild y firstElementChild:

console.log(elem.firstChild); // comentario console.log(elem.firstElementChild); // etiqueta span

Escriba un código que muestre la diferencia entre lastChild y lastElementChild.

Escriba un código que muestre la diferencia entre nextSibling y nextElementSibling.

Escriba un código que muestre la diferencia entre previousSibling y previousElementSibling.

ruhuuzlidkk