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

264
Vistas
jQuery: ¿cómo eliminar la clase de los elementos más cercanos en el div principal?

Tengo el siguiente HTML:

 <table> <tr> <td> <span class="btn active">One</span> <span class="btn">Two</span> <span class="btn">Three</span> </td> </tr> <tr> <td> <span class="btn">One</span> <span class="btn active">Two</span> <span class="btn">Three</span> </td> </tr> </table>

Intento agregar la clase active al elemento actual en el que se hizo clic:

 $(document).ready(function() { $(".btn").click(function() { $(".btn").removeClass("active"); $(this).addClass("active"); }); });

funciona, pero elimina la clase active de todos los demás tramos.

¿Cómo eliminar la clase active solo de los elementos más cercanos, por ejemplo, solo dentro del td principal?

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

0

Puede asegurarse de eliminar la clase solo de los elementos secundarios del elemento principal del intervalo en el que se hizo clic.

 $(document).ready(function() { $(".btn").click(function() { $(this.parentElement.childNodes).removeClass("active"); $(this).addClass("active"); }); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para hacer lo que necesita, puede usar this palabra clave en el controlador de eventos para hacer referencia al elemento que generó el evento. A partir de ahí, puede usar los métodos transversales del DOM de jQuery, en este caso siblings() , para encontrar los elementos relacionados y cambiar sus clases.

 jQuery($ => { $(".btn").click(function() { $(this).addClass('active').siblings('span').removeClass("active"); }); });
 .active { color: #C00; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <table> <tr> <td> <span class="btn active">One</span> <span class="btn">Two</span> <span class="btn">Three</span> </td> </tr> <tr> <td> <span class="btn">One</span> <span class="btn active">Two</span> <span class="btn">Three</span> </td> </tr> </table>

about 4 years ago · Juan Pablo Isaza Denunciar

0

encuentro solución:

 $(document).ready(function() { $(".btn").click(function() { $(this).parent().find('.btn').removeClass("active"); $(this).addClass("active"); }); });
 .active { background: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td> <span class="btn active">One</span> <span class="btn">Two</span> <span class="btn">Three</span> </td> </tr> <tr> <td> <span class="btn">One</span> <span class="btn active">Two</span> <span class="btn">Three</span> </td> </tr> </table>

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