[英]Remove class if exist and add new one using jquery
我有一個<ul>
的標記如下:
<ul>
<li class=""><a href="">Insulated And Extruded</a></li>
<li class=""><a href="">Grille Type Rolling</a></li>
<li class="active2"><a href="">PVC High Speed Doors</a></li>
<li class=""><a href="">Swinging doors</a></li>
</ul>
在這里,我想檢查li
有一個名為active2
的類,如果有,那么我需要刪除該類,並需要為該li
添加不同的類。
這是我在jQuery中嘗試的方式:
if($('ul li').hasClass('active2')) {
$(this).removeClass('active2').addClass('active1');
}
但它不起作用。
任何人都可以幫我解決這個問題嗎?
要使用hasClass()
您需要循環遍歷所有li
元素並單獨檢查它們。
但是這里根本不需要hasClass()
,因為你可以直接選擇.active2
元素並在它們上調用toggleClass()
,如下所示:
$('ul li.active2').toggleClass('active2 active1');
.active1 { background-color: yellow; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li class=""><a href="">Insulated And Extruded</a></li> <li class=""><a href="">Grille Type Rolling</a></li> <li class="active2"><a href="">PVC High Speed Doors</a></li> <li class=""><a href="">Swinging doors</a></li> </ul>
你不需要hasClass()
,你可以這樣做:
$('ul li.active2').removeClass('active2').addClass('active1');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li class=""><a href="">Insulated And Extruded</a></li> <li class=""><a href="">Grille Type Rolling</a></li> <li class="active2"><a href="">PVC High Speed Doors</a></li> <li class=""><a href="">Swinging doors</a></li> </ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.