[英]Add active class to nav links with exception for some li
我有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');
});
怎么了? 希望我足夠清楚...
您在刪除之前忘記了類標識符:
$('ul.menu li').click(function(){
$('ul.menu li').removeClass('active');
$(this).not('.cross-out').addClass('active');
});
期間會有所不同。 然后,因為您的頁面上可能還有其他幾個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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.