[英]How to remove previous active classes in jQuery
我是一个列表,单击时会在列表中切换active
类,但是当我单击其他元素时,先前的元素仍包含active
类
<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>
我想要的是,当我单击其他li
元素时,必须切换出li
的active
类。 对不起,英语不好! 我试图添加每个循环,但没有成功。
为了.active
起作用,您只需要从所有已有的.active
类中删除它即可,但当前元素除外,应将其切换。 尝试这个:
$('.click_me').click(function() { $('.active').not(this).removeClass('active'); $(this).toggleClass('active'); });
.active { background-color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <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>
$('ul').on('click', '.click_me', function(){ $(this).toggleClass('active').siblings().removeClass('active'); // <--- The trick! })
.active{ background:lightblue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li class="click_me active">Click here</li> <li class="click_me">Click here</li> <li class="click_me">Click here</li> <li class="click_me">Click here</li> </ul>
那应该做!
$('.click_me').click(function()
{
// remove the .active class from all the .active elements.
$('.click_me.active').removeClass('active');
// add it to this one
$(this).addClass('active');
});
尝试这个。
从所有li元素(不包括clicked元素)中删除该类,并在clicked元素上切换类。
$(document).ready(function() { $('.click_me').click(function() { $("li.active").not(this).removeClass('active'); $(this).toggleClass("active"); }); });
.active { background-color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <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>
尝试这个。 它应该工作! 所有答案都起作用!
$('.click_me').click(function()
{
$('.click_me.active').removeClass('active');
$(this).addClass('active');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.