首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery:如果单击其他元素,则移除类

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

Stack Overflow用户
提问于 2012-10-02 16:44:35
回答 10查看 66.1K关注 0票数 17

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

这很容易设置,但是,当单击另一个li元素时,我希望从非活动的li中删除“活动的”-class。

我已经把这个问题弄乱了:http://jsfiddle.net/tGW3D/

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

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-10-02 16:46:36

这将从具有活动的每个li中删除活动类,然后将其添加到所单击的元素中。

代码语言:javascript
复制
$('body').on('click', 'li', function() {
      $('li.active').removeClass('active');
      $(this).addClass('active');
});
票数 52
EN

Stack Overflow用户

发布于 2012-10-02 16:46:53

您可以使用siblingsremoveClass方法。

代码语言:javascript
复制
$('li').click(function() {
    $(this).addClass('active').siblings().removeClass('active');
});

http://jsfiddle.net/Lb65e/

票数 22
EN

Stack Overflow用户

发布于 2012-10-02 16:47:16

只需先移除.active的所有实例,然后再添加:

代码语言:javascript
复制
$('ul li').on('click', function() {  
    $('ul li.active').removeClass('active');
    $(this).addClass('active');    
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12687085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档