Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

134
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!