jQuery:如果单击其他元素,则删除类

Alb*_*n N 17 jquery addclass toggleclass

我有一个包含li元素的ul列表.当用户单击其中一个li元素时,应该将一个类添加到该元素中.

这很容易设置,但是,当单击其他li元素时,我希望从非活动li中删除"active"类.

我已经提出了问题的一个方面:http: //jsfiddle.net/tGW3D/

任何时候都应该有一个红色的li元素.如果单击第二个然后单击第一个,则只有第一个应为红色.

Bur*_*imi 52

这将从每个具有活动的li中删除活动类,并将添加到单击的Element中.

$('body').on('click', 'li', function() {
      $('li.active').removeClass('active');
      $(this).addClass('active');
});
Run Code Online (Sandbox Code Playgroud)


und*_*ned 19

你可以使用siblingsremoveClass方法.

$('li').click(function() {
    $(this).addClass('active').siblings().removeClass('active');
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Lb65e/


Ben*_*enM 5

只需删除.active第一个实例,然后添加它:

$('ul li').on('click', function() {  
    $('ul li.active').removeClass('active');
    $(this).addClass('active');    
});
Run Code Online (Sandbox Code Playgroud)