So entfernen Sie Klasse aus allen Elementen jquery


82

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?

Antworten:


157

Sie müssen die liin der .edgetoedgeKlasse enthaltenen Tags auswählen . .edgetoedgestimmt nur mit dem einen ulTag überein :

$(".edgetoedge li").removeClass("highlight");

38

versuchen Sie : $(".highlight").removeClass("highlight");. Durch Auswahl wählen $(".edgetoedge")Sie nur Funktionen auf dieser Ebene aus.


Ihre Antwort sollte akzeptiert werden. Ein sehr interessanter Trick, du rettest meinen Tag.
— vietnguyen09

18

Dies entfernt nur die highlightKlasse von allem, was die edgetoedgeKlasse hat:

$(".edgetoedge").removeClass("highlight");

Ich denke du willst das:

$(".edgetoedge .highlight").removeClass("highlight");

Der .edgetoedge .highlightSelektor wählt alles aus, was ein Kind von etwas mit der edgetoedgeKlasse ist und die highlightKlasse hat.


2
+1 für die Fähigkeit, Gegenstände anzuvisieren, ohne den Elementtyp zu kennen.
— Andy

7

Sie könnten dies versuchen:

 $(".edgetoedge").children().removeClass("highlight");


0

Das Beste, um eine Klasse in jquery aus allen Elementen zu entfernen, ist das Targeting über das Element-Tag. z.B,

$("div").removeClass("highlight");
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.