Cómo comprobar si un elemento es descendiente de otro

 

 

 

Necesitaba descubrir si un elemento que obtuve a través de un evento de clic era descendiente de un elemento padre en particular.

Asigné un ida ese elemento principal y verifiqué si el elemento en el que se hizo clic pertenecía a sus elementos secundarios usando este bucle:

const isDescendant = (el, parentId) = { let isChild = false if (el.id === parentId) { //is this the element itself? isChild = true } while (el = el.parentNode) { if (el.id == parentId) { isChild = true } } return isChild}document.addEventListener('click', event = { const parentId = 'mycontainer' if (isDescendant(event.target, parentId)) { //it is a descendant, handle this case here } else { //it's not a descendant, handle this case here }})

En el bucle mientras usamos el operador de asignación =para iterar hasta que ya no haya ningún nodo padre, en ese caso el.parentNoderetorna nully el bucle mientras finaliza.

 

Es una forma de ir “subiendo” en el árbol de elementos hasta finalizar.

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase

Cómo comprobar si un elemento es descendiente de otro

Necesitaba descubrir si un elemento que obtuve a través de un evento de clic era descendiente de un elemento padre en particular.

programar

es

2025-01-06

 

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences