No siempre seleccionas todo desde cero. A veces ya tienes un nodo y necesitas moverte desde ahí, hacia arriba, hacia abajo o hacia el lado.
Imagina que ya tienes seleccionado el título de un producto.
En lugar de volver a buscar toda la tarjeta desde document, puedes moverte desde ese título hasta los elementos relacionados.
Por eso existen las propiedades de recorrido:
parentElement — sube un nivel (padre)children — baja (hijos directos, solo elementos)nextElementSibling — te mueve al hermano siguientepreviousElementSibling — te mueve al hermano anteriorparentElementCon parentElement subes un nivel en el árbol. Si el elemento no tiene padre (porque es <html>), devuelve null.
childrenchildren devuelve solo los elementos HTML directos (no nodos de texto). Es lo que normalmente quieres cuando manipulas la interfaz.
nextElementSiblingSi no hay hermano siguiente, devuelve null. Existe también previousElementSibling para ir hacia atrás.
El recorrido es ideal cuando:
Evítalo cuando:
elemento.parentElement.parentElement.parentElement...)En esos casos, un querySelector explícito es más claro y seguro.
#nombre-productoparentElementchildren del articlenextElementSibling del título#resumen-recorridoEn DOM no siempre buscas; muchas veces navegas.