Ich ändere die Klasse eines Elements wie folgt
$("#"+data.id).addClass("highlight")
Angesichts der Liste unten.
<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>
Ich nahm an, ich könnte die Klasse damit entfernen ...
$(".edgetoedge").removeClass("highlight");
Das funktioniert aber nicht. Wie kann ich die Klasse entfernen?
Dies entfernt nur die
highlight
Klasse von allem, was dieedgetoedge
Klasse hat:$(".edgetoedge").removeClass("highlight");
Ich denke du willst das:
$(".edgetoedge .highlight").removeClass("highlight");
Der
.edgetoedge .highlight
Selektor wählt alles aus, was ein Kind von etwas mit deredgetoedge
Klasse ist und diehighlight
Klasse hat.quelle
Sie könnten dies versuchen:
$(".edgetoedge").children().removeClass("highlight");
quelle
$(".edgetoedge>li").removeClass("highlight");
quelle
Das Beste, um eine Klasse in jquery aus allen Elementen zu entfernen, ist das Targeting über das Element-Tag. z.B,
$("div").removeClass("highlight");
quelle