Javascript 如何删除jQuery中以前的活动类

Javascript 如何删除jQuery中以前的活动类,javascript,jquery,Javascript,Jquery,我正在创建一个列表,当我单击它时,在列表中切换类活动,但当我单击不同的元素时,前面的元素仍然包含活动类 <ul> <li class="click_me">Here </li> <li class="click_me">Here </li> <li class="click_me">Here </li> <li class="click_me">Here </li

我正在创建一个列表,当我单击它时,在列表中切换类
活动
,但当我单击不同的元素时,前面的元素仍然包含
活动

<ul>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
</ul>

$(document).ready(function()
{
    $('.click_me').click(function()
    {
        $.each(function()
        {
            $('.click_me').toggleClass('active');
        });
        $(this).toggleClass('active');
    });
});

<style>
.active
{
    background-color: red;
}
</style>
  • 此处
  • 此处
  • 此处
  • 此处
$(文档).ready(函数() { $('.click_me')。单击(function() { $.each(函数() { $('.click_me')。toggleClass('active'); }); $(this.toggleClass('active'); }); }); 忙碌的 { 背景色:红色; }
我想要的是,当我单击不同的
li
元素时,必须将先前的
li
活动的
类切换出来。对不起,英语不好!
我尝试添加每个循环,但没有成功。

正确的方法是使用:
$('ul')。在('click','上。单击我',函数(){

$(this).toggleClass('active').sides().removeClass('active');//要使其正常工作,您只需从任何已有
.active
类的元素中删除该类,不包括应切换的当前元素。请尝试以下操作:

$('.单击我')。单击(函数(){
$('.active').not(this.removeClass('active');
$(this.toggleClass('active');
});
.active{
背景色:红色;
}

  • 此处
  • 此处
  • 此处
  • 此处
试试这个

从除单击的元素之外的所有li元素中删除类,并在单击的元素上切换类

$(文档).ready(函数()
{
$('.click_me')。单击(function()
{       
$(.li.active”).not(this.removeClass('active');
$(此).toggleClass(“活动”);
});
});
.active
{
背景色:红色;
}

  • 此处
  • 此处
  • 此处
  • 此处

试试这个。它应该有用!所有答案都有用

$('.click_me').click(function()
{
    $('.click_me.active').removeClass('active');
    $(this).addClass('active');
});

$('.active').removeClass('active');
OMG!是的,它确实起作用了!谢谢你们两位。我删除了每个循环,把removeClass放在了一起,而不是切换。感谢你们两位
$('.click_.active')。removeClass('active');
如果你们在其他类型的元素上使用
.active
类。
$('.click_me').click(function()
{
    $('.click_me.active').removeClass('active');
    $(this).addClass('active');
});