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');
});