我有ul.menu
,其中少数li
的样式不同,因此li
不需要添加活动类。
<ul class="menu">
<li id="1st" class="default"><a href="#">Text1</a></li>
<li id="2nd" class="default"><a href="#">Text2</a></li>
<li class="cross-out"><a href="#">Text3</a></li>
</ul>
jQuery为前两个链接添加活动类,li.cross-out
$('ul.menu li').click(function(){
$('ul.menu li').removeClass('active');
$(this).not('cross-out').addClass('active');
});
有什么问题?希望我足够清楚......
答案 0 :(得分:3)
在横向输出之前忘记了类标识符:
$('ul.menu li').click(function(){
$('ul.menu li').removeClass('active');
$(this).not('.cross-out').addClass('active');
});
答案 1 :(得分:0)
答案 2 :(得分:0)
这个时期有所不同。然后,因为您的网页上可能有其他几个ul.menu
元素,您只需要点击li
的元素进行更改:
$('ul.menu li').click(function(){
$(this).siblings('li.active').removeClass('active');
$(this).not('.cross-out').addClass('active');
});
$('ul.menu li').click(function(){
$(this).siblings('li.active').removeClass('active');
$(this).not('.cross-out').addClass('active');
});
.active {
background-color:gray;
font-weight:bolder;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="menu">
<li class="default"><a href="#">Text1</a></li>
<li class="default"><a href="#">Text2</a></li>
<li class="cross-out"><a href="#">Text3</a></li>
</ul>
<ul class="menu">
<li class="default"><a href="#">Text1</a></li>
<li class="default"><a href="#">Text2</a></li>
<li class="cross-out"><a href="#">Text3</a></li>
</ul>
<ul class="menu">
<li class="default"><a href="#">Text1</a></li>
<li class="default"><a href="#">Text2</a></li>
<li class="cross-out"><a href="#">Text3</a></li>
</ul>