Jak usunąć klasę ze wszystkich elementów jquery


84

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?

Odpowiedzi:


159

Musisz wybrać litagi zawarte w .edgetoedgeklasie. .edgetoedgepasuje tylko do jednego ultagu:

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

40

spróbuj: $(".highlight").removeClass("highlight");. Wybierając $(".edgetoedge"), uruchamiasz funkcje tylko na tym poziomie.


Twoja odpowiedź powinna zostać zaakceptowana. Bardzo ciekawa sztuczka, ratujesz mi dzień.
vietnguyen09

18

To po prostu usuwa highlightklasę ze wszystkiego, co ma edgetoedgeklasę:

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

Myślę, że chcesz tego:

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

.edgetoedge .highlightSelektor wybiorą wszystko, co dziecko czegoś z edgetoedgeklasą i ma highlightklasę.


2
+1 za możliwość namierzania przedmiotów bez znajomości typu elementu.
Andy



1

Najlepszym sposobem usunięcia klasy w jquery ze wszystkich elementów jest wybranie celu za pomocą znacznika elementu. na przykład,

$("div").removeClass("highlight");
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.