JavaScript HTML DOM Lista de nodos

NodeListEl objeto es una lista de nodos (colección) obtenida del documento.

El objeto NodeList es similar aHTMLCollectionun objeto.

Algunos métodos en navegadores de versiones antiguas (como:getElementsByClassName()) devuelven un objeto NodeList, en lugar de un objeto HTMLCollection.

De todos los navegadoreschildNodesel atributo devuelve un objeto NodeList.

En la mayoría de los navegadoresquerySelectorAll()devuelve un objeto NodeList.

El siguiente código selecciona todos los nodos <p> del documento:

Ejemplos

var myNodeList = document.querySelectorAll("p");

Se puede acceder a los elementos de un NodeList mediante un índice (comenzando en 0).

Para acceder al segundo elemento <p> se puede usar el siguiente código:

y = myNodeList[1];

Pruébalo »

Propiedad length del objeto NodeList

La propiedad length del objeto NodeList define el número de elementos en la lista de nodos.

Ejemplos

var myNodelist = document.querySelectorAll("p"); document.getElementById("demo").innerHTML = myNodelist.length;

Pruébalo »

Análisis del ejemplo

Obtener la colección de elementos <p>:

var myNodelist = document.querySelectorAll("p");

Mostrar el número de elementos de la lista de nodos:

document.getElementById("demo").innerHTML = myNodelist.length;

La propiedad length se usa a menudo para recorrer la lista de nodos.

Ejemplos

Cambiar el color de fondo de todos los elementos <p> en la lista de nodos:

var myNodelist = document.querySelectorAll("p"); var i; for (i = 0; i < myNodelist.length; i++) { myNodelist[i].style.backgroundColor = "red"; }

Pruébalo »

Diferencia entre HTMLCollection y NodeList

HTMLCollectiones una colección de elementos HTML.

NodeList es una colección de nodos de documento.

NodeList y HTMLCollection tienen muchas similitudes.

NodeList y HTMLCollection son algo similares a los objetos Array; se pueden usar índices (0, 1, 2, 3, 4, ...) para obtener elementos.

NodeList y HTMLCollection tienen ambas la propiedad length.

Los elementos de HTMLCollection se pueden obtener mediante name, id o índice.

NodeList solo se puede obtener mediante índice.

Solo el objeto NodeList contiene nodos de atributos y nodos de texto.

¡La lista de nodos no es un array!

La lista de nodos puede parecer un array, pero en realidad no lo es.

Puedes usar índices para obtener elementos, como en un array.

La lista de nodos no puede usar los métodos de array: valueOf(), pop(), push() o join().

Otras extensiones