如何从所有元素jquery中删除类

我正在改变一个元素的类与以下

$("#"+data.id).addClass("highlight") 

鉴于下面的列表。

  <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> 

我以为我可以删除这个类…

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

但是这不起作用。 我怎样才能删除class级?

您需要select.edgetoedge类中包含的li标签。 .edgetoedge只匹配一个ul标签:

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

试试: $(".highlight").removeClass("highlight"); 。 通过select$(".edgetoedge")您只能在该级别运行function。

这只是从具有edgetoedge类的东西中删除highlight类:

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

我想你想要这个:

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

.edgetoedge .highlightselect器将selectedgetoedge类中具有highlight类的所有东西。

你可以试试这个:

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