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

109
Views
$(this).addClass para múltiples onclick='myfunction()'

Este es mi código, los botones se crean dinámicamente

 <button class="same_name" onclick='myfunction()'>button name</button> <button class="same_name" onclick='myfunction()'>button name</button> <button class="same_name" onclick='myfunction()'>button name</button> <button class="same_name" onclick='myfunction()'>button name</button>

y quiero agregar una clase al botón en el que hice clic

 function myfunction() { $(this).addClass("active"); }
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Si está utilizando jQuery y está agregando los botones dinámicamente, elimine el JS en línea y use la delegación de eventos para adjuntar un oyente a un contenedor principal para ver eventos de sus same_name del mismo nombre, y luego agregue una clase para eso botón pulsado. (Estoy usando toggleClass en este ejemplo).

 $(document).on('click', '.same_name', function () { $(this).toggleClass('active'); });
 .active { color: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="same_name">button 1</button> <button class="same_name">button 2</button> <button class="same_name">button 3</button> <button class="same_name">button 4</button>

about 4 years ago · Juan Pablo Isaza Report

0

La solución de Andy es la correcta. Si desea rodar con su propia solución, simplemente pase el evento a la función.

 function myfunction(event){ let eTar = event.target $(eTar).addClass("active"); }
 .active { color: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="same_name" onclick='myfunction(event)'>button name</button> <button class="same_name" onclick='myfunction(event)'>button name</button> <button class="same_name" onclick='myfunction(event)'>button name</button> <button class="same_name" onclick='myfunction(event)'>button name</button>

about 4 years ago · Juan Pablo Isaza Report

0

Aquí está la respuesta de Vanilla JS (jQuery no es necesario en absoluto, para casi nada en 2022):

 document.addEventListener('click', function ({target}) { if (target.matches('button.same_name')) target.classList.add('active'); });
 .active { color: red; }
 <button class="same_name">button 1</button> <button class="same_name">button 2</button> <button class="same_name">button 3</button> <button class="same_name">button 4</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!