Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
Agregar detectores de eventos a divs funciona con el método ForEach(), pero no funciona con for loop. ¿Cual es la diferencia?

Como en el título. Estoy tratando de agregar un detector de eventos a todos los divs disponibles que genera su ID al hacer clic, pero solo funciona con el método forEach. For loop termina solo generando la ID de mi último div, incluso si hago clic en los otros.

Esta es la parte del código que funciona correctamente:

 const elements = document.querySelectorAll('div') elements.forEach(element => { element.addEventListener('click', ()=>{ console.log(element.id) }) })

Y esto no es así, siempre genera id10 en la consola (mi último div agregado):

 const elements = document.querySelectorAll('div') for(element of elements){ element.addEventListener('click', ()=>{ console.log(element.id) })}

¿No deberían estos dos funcionar exactamente igual? ¿Cual es la diferencia? ¿Hay alguna manera de hacer que funcione el bucle for?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La diferencia es cómo ha implementado su código. En el método forEach, ha declarado que los elementos son globales. Use dejar entrar para cada uno. Código de ejemplo:

 for(let element of elements){ element.addEventListener('click', ()=>{ console.log(element.id) })}

Esto devolverá la identificación del elemento de cada elemento en el que se hizo clic.

Si usa su implementación sin let , apuntará al último elemento div

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda