Zmieniam klasę elementu w następujący sposób
$("#"+data.id).addClass("highlight")
Biorąc pod uwagę poniższą listę.
<div id="menuItems">
<ul id="contentLeft" class="edgetoedge">
<li class="sep" ">Shakes and Floats</li>
<li id="297"><a href="#" onClick="cart('297','add')"><small>$5.00</small><b>Vanilla</b> </a></li>
<li id="298"><a href="#" onClick="cart('298','add')"><small>$5.00</small><b>Peanut Butter</b></a></li>
<li id="299"><a href="#" onClick="cart('299','add')"><small>$5.00</small><b>Combo</b></a></li>
<li id="300"><a href="#" onClick="cart('300','add')"><small>$5.00</small><b>Chocolate</b></a></li>
<li id="301"><a href="#" onClick="cart('301','add')"><small>$5.00</small><b>Strawberry</b></a></li>
<li id="303"><a href="#" onClick="cart('303','add')"><small>$5.00</small><b>Banana</b></a></li>
<li id="304"><a href="#" onClick="cart('304','add')"><small>$5.00</small><b>Root Beer Float</b></a></li>
<li id="305"><a href="#" onClick="cart('305','add')"><small>$5.00</small><b>Espresso</b></a></li>
</ul>
</div>
Zakładałem, że mogę usunąć klasę za pomocą tego ...
$(".edgetoedge").removeClass("highlight");
Ale to nie działa. Jak mogę usunąć zajęcia?
To po prostu usuwa
highlight
klasę ze wszystkiego, co maedgetoedge
klasę:$(".edgetoedge").removeClass("highlight");
Myślę, że chcesz tego:
$(".edgetoedge .highlight").removeClass("highlight");
.edgetoedge .highlight
Selektor wybiorą wszystko, co dziecko czegoś zedgetoedge
klasą i mahighlight
klasę.źródło
Możesz spróbować tego:
$(".edgetoedge").children().removeClass("highlight");
źródło
$(".edgetoedge>li").removeClass("highlight");
źródło
Najlepszym sposobem usunięcia klasy w jquery ze wszystkich elementów jest wybranie celu za pomocą znacznika elementu. na przykład,
$("div").removeClass("highlight");
źródło