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

148
Views
Cómo eliminar la clase del Botón 1 al hacer clic en el Botón 2 - Vanilla JS

Estoy tratando de hacer un efecto de resaltado en el Botón 1 (texto en negrita y azul con una clase css). Pero, por supuesto, la clase debe eliminarse del Botón 1 cuando hago clic en otro Botón en el Menú.

 let buttons = document.querySelectorAll(".ef-button"); for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", function () { if (buttons[i].classList.contains("active-element")) { buttons[i].classList.remove("active-element"); } else { buttons[i].classList.add("active-element"); } }) }

Esto es lo que escribí. Puedo hacer clic en cada botón para resaltarlo, pero cuando hago clic en otro botón, no elimina la clase del primer botón... De todos modos, puedo hacer clic en un botón ya resaltado para eliminar la clase nuevamente.

Lo que necesito es como un "reinicio" que elimine la clase del botón en el que hice clic.

ingrese la descripción de la imagen aquí

Cuando hago clic en Botones:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Por aquí:
para aquellos que quieren evitar buscar en el MDN Doc1

 document .querySelectorAll('.ef-button') .forEach( (btClickEv,_,buttons) => { btClickEv.onclick = () => buttons.forEach(bt=>bt.classList.toggle('active-element',bt===btClickEv)) })
 .ef-button { background : pink; } .active-element { background : green; }
 <button class="ef-button"> bt1 </button> <button class="ef-button"> bt2 </button> <button class="ef-button"> bt3 </button> <button class="ef-button"> bt4 </button> <button class="ef-button"> bt4 </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!