我有一个包含li元素的ul列表。当用户单击其中一个li元素时,应该向该元素添加一个类。
这很容易设置,但是,当单击另一个li元素时,我希望从非活动的li中删除“活动的”-class。
我已经把这个问题弄乱了:http://jsfiddle.net/tGW3D/
任何时候都应该有一个红色的li元素。如果单击第二个,然后单击第一个,则只有第一个应该是红色的。
发布于 2012-10-02 16:46:36
这将从具有活动的每个li中删除活动类,然后将其添加到所单击的元素中。
$('body').on('click', 'li', function() {
$('li.active').removeClass('active');
$(this).addClass('active');
});
发布于 2012-10-02 16:46:53
您可以使用siblings
和removeClass
方法。
$('li').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
发布于 2012-10-02 16:47:16
只需先移除.active
的所有实例,然后再添加:
$('ul li').on('click', function() {
$('ul li.active').removeClass('active');
$(this).addClass('active');
});
https://stackoverflow.com/questions/12687085
复制相似问题