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

137
Vistas
¿Cómo cambiar el color del botón seleccionado cuando se hace clic con el método de destino?

Soy un principiante y quiero saber cómo cambio el color del botón seleccionado utilizando el método de destino.

 var buttons = document.querySelectorAll(".btn").length; for (var i = 0; i < buttons; i++) { document.querySelectorAll(".btn")[i].addEventListener("click", function () { document.querySelectorAll(".btn").style.backgroundColor = "red"; }); }
 <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button>

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

0

 var buttons = document.querySelectorAll(".btn"); for (var i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", (e) =>{ e.target.style.backgroundColor = "red"; }); }
 <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe usar el argumento de event que obtiene de la devolución de llamada de clic y el elemento en el que se hizo clic es .target .

Tu puedes hacer:

 document.querySelectorAll(".btn")[i].addEventListener("click", function (event) { event.target.style.backgroundColor = "red"; });

Pero puedes hacer en su lugar:

 const buttons = document.querySelectorAll(".btn"); buttons.forEach(btn => { btn.addEventListener("click", function (event) { event.target.style.backgroundColor = "red"; }); });
 <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su código es actualmente muy ineficiente.

Dentro del bucle for , está volviendo a seleccionar cada botón. En su lugar, debe seleccionarlos una vez fuera del bucle.

 var buttons = document.querySelectorAll(".btn"); for (var i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", function (e) { e.target.style.backgroundColor = "red"; }); }
 <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button> <button class="btn">abc</button>

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