¿Cómo puedo alternar Class y eliminar class de todos los demás elementos? Considere un div que contiene etiquetas: html:
<div class="size"> <a href="">blahblah</a> <a href="">blahblah</a> </div>
jQuery:
$(".size a").click(function(){ $(this).toggleClass('checked'); if($(".size a").hasClass('checked')){ $(this).removeClass('checked'); } })
Quiero agregar la clase "cheched" al elemento y eliminar la clase "cheched" de otros elementos que tienen la clase "checked". Mi código elimina todas las clases. ¿Cómo puedo agregar una clase específica y eliminar la clase de otro elemento con un clic? Gracias por adelantado
esto lo hará
$(".size a").click(function(){ $('.size a.checked').not(this).removeClass('checked'); $(this).toggleClass('checked'); })
Actualizar
Alternativamente, podrías hacer
$(".size").on('click','a', function(){ $(this).toggleClass('checked').siblings().removeClass('checked'); })
Solo necesitas usarlo. :)
<script> $(document).ready(function () { $('.demo_class').click(function () { $(this).toggleClass('active').siblings().removeClass('active'); }); }); </script>
Tarde pero es mi respuesta
$(".size").click(function(){ $('.size').removeClass('checked') //Clear all checked class on .size $(this).addClass('checked') //Add checked class to current clicked .size })
Es más limpio, potente y seguro.