如果我有这样的li列表:
<ul>
<li>first </li>
<li>second</li>
<li>third</li>
<li>fourth</li>
</ul>
我如何在jquery中编写代码来向li元素添加一个类,比如说,首先没有将类添加到其他元素中?
我试过这个,但它当然会增加所有的li元素。
$(document).ready(function() {
$("ul li").click(function() {
if(!$("ul li").hasClass('active'))
{
$("ul li").addClass('active');
}
});
});
我希望能够将活动类仅添加到单击的li元素,并删除已添加活动的所有其他存在。我该怎么办?感谢
答案 0 :(得分:5)
单程
$("ul li").click(function() {
var $this = $(this); // reference to the clicked li
if(!$this.hasClass('active'))
{
$this.addClass('active');
$('ul li').not($this).removeClass('active');
}
});
另一种方式
$("ul li").click(function() {
var $this = $(this); // reference to the clicked li
if(!$this.hasClass('active'))
{
$this.addClass('active').siblings().removeClass('active');
}
});
这一个可能有一百种方法可以达到同样的目的。