Nodo QuerySelectorAll: selección de elementos DOM mejorada

| Última modificación: 4 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El nodo queryselectorall es una maravilla del método que nos proporciona un mayor control sobre los elementos del documento. En este artículo, profundizamos en qué es y cómo se utiliza.

¿Qué es QuerySelectorAll?

Cuando trabajas con JavaScript y te aventuras en el Document Object Model (DOM), rápidamente te das cuenta de la necesidad de seleccionar elementos específicos. Es como estar en una habitación llena de cajas: necesitas una manera de encontrar exactamente lo que estás buscando sin tener que abrir cada una de ellas.

Aquí es donde entra en juego el nodo queryselectorall. Este método es como un detector de metales sofisticado que te permite buscar y encontrar todos los elementos que coinciden con los selectores CSS que especificas. Es como tener un mapa del tesoro en tus manos que te guía directamente a lo que necesitas. Te mostramos cómo se ve:

document.querySelectorAll(selector)

El nodo queryselectorall es un método que, a diferencia de su hermano queryselector, no se detiene al encontrar el primer elemento que cumple con los criterios especificados. queryselectorall recorre el DOM de principio a fin, devolviéndonos todos los elementos que coinciden con nuestros selectores.

¿Cómo utilizar el nodo QuerySelectorAll?

Pongamos un ejemplo práctico. Supón que estás trabajando en una página de recetas y tienes una lista de ingredientes así:

<ul id="ingredientes">
    <li class="ingrediente">Harina</li>
    <li class="ingrediente">Azúcar</li>
    <li class="ingrediente">Huevos</li>
    <li class="ingrediente">Mantequilla</li>
</ul>

Si quisieras seleccionar todos los ingredientes para, digamos, cambiar su color, podrías utilizar el nodo queryselectorall de la siguiente manera:

let todosLosIngredientes = document.querySelectorAll('.ingrediente');

Lo que obtendríamos es un NodeList, similar a un array, con todos los elementos que tienen la clase ingrediente. Podríamos entonces iterar sobre este NodeList y aplicar las modificaciones deseadas a cada elemento.

Ahora imagina que estás trabajando en una página web llena de párrafos (<p>). Algunos contienen información importante que quieres resaltar cambiando su color a azul. Podrías ir uno por uno cambiando su estilo, pero eso suena agotador. Ahí es donde el nodo queryselectorall se convierte en tu mejor amigo.

let parrafos = document.querySelectorAll('p');
parrafos.forEach(p => p.style.color = 'blue');

¡Listo! En un instante, todos los párrafos de tu página cambian a azul. Y esto es solo la punta del iceberg de lo que queryselectorall puede hacer por ti.

Diversos selectores con QuerySelectorAll

Otra de las ventajas del nodo queryselectorall es que puedes buscar varios selectores separándolos con una coma, similar a como lo harías en una hoja de estilos CSS. Por ejemplo, si quisieras seleccionar todos los elementos con la clase ingrediente y todos los elementos con el id postre, podrías hacerlo así:

let seleccionMultiple = document.querySelectorAll('.ingrediente, #postre');

¿Cómo saber cuántos elementos selecciona el nodo QuerySelectorAll?

Una de las propiedades que resultan más útiles del método queryselectorall es length. Esta propiedad nos permite saber cuántos elementos cumplen con los criterios que especificamos en nuestra cadena de texto.

let cantidadDeIngredientes = document.querySelectorAll('.ingrediente').length;
console.log(cantidadDeIngredientes); // Nos imprimirá el número de ingredientes

Esta característica es especialmente útil cuando necesitamos contar los elementos seleccionados para realizar operaciones con ellos.

El método queryselectorall es una herramienta extremadamente potente en JavaScript. Nos permite seleccionar múltiples elementos del DOM basándonos en criterios específicos, lo que nos da un gran control y flexibilidad sobre cómo interactuamos con nuestra página web. Facilita la manipulación del DOM, mejora la eficiencia de tu código y te permite interactuar con tu página web de maneras increíblemente flexibles.

¿Quieres aprender más?

Este es solo el principio. Si deseas dominar las mejores prácticas de desarrollo web y aprender más sobre cómo interactuar con el DOM, nuestra recomendación es que te unas a nuestro Desarrollo Web Full Stack Bootcamp. Aquí no solo aprenderás sobre queryselector y el nodo queryselectorall, sino que obtendrás un conocimiento profundo y práctico sobre todas las herramientas y tecnologías que necesitarás para convertirte en un desarrollador web competente. El sector tecnológico es una industria con una alta demanda de profesionales, salarios elevados y una estabilidad laboral que otros sectores no ofrecen. ¡Un cambio de vida está a tu alcance, solo necesitas dar el primer paso y pedir información!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado