toggleClass并从所有其他元素中删除类

The*_*one 19 jquery

如何切换类和从所有其他元素中删除类?考虑一个包含标签的div:html:

<div class="size">
   <a href="">blahblah</a>
   <a href="">blahblah</a>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

 $(".size a").click(function(){
 $(this).toggleClass('checked');
 if($(".size a").hasClass('checked')){
     $(this).removeClass('checked');
  }
 })
Run Code Online (Sandbox Code Playgroud)

我想在元素中添加"cheched"类,并从具有"已检查"类的其他元素中删除"ckeched"类.我的代码删除所有类.如何添加特定类并通过单击删除其他元素的类?提前致谢

Gab*_*oli 119

这样做

 $(".size a").click(function(){
    $('.size a.checked').not(this).removeClass('checked');
    $(this).toggleClass('checked');
 })
Run Code Online (Sandbox Code Playgroud)

更新

或者你可以做到

 $(".size").on('click','a', function(){
    $(this).toggleClass('checked').siblings().removeClass('checked');
 })
Run Code Online (Sandbox Code Playgroud)


MD *_*hik 6

只有你需要使用它.:)

<script>
    $(document).ready(function () {
        $('.demo_class').click(function () {
            $(this).toggleClass('active').siblings().removeClass('active');
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)


Eng*_*adi 5

这么晚了,但这是我的答案

$(".size").click(function(){ $('.size').removeClass('checked') //Clear all checked class on .size $(this).addClass('checked') //Add checked class to current clicked .size })

它更清洁、更强大、更安全。