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

时间:2011-05-13 21:28:16

标签: 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");

但这不起作用。我怎样才能删除课程?

6 个答案:

答案 0 :(得分:139)

您需要选择li类中包含的.edgetoedge标记。 .edgetoedge仅匹配一个ul代码:

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

答案 1 :(得分:34)

尝试:$(".highlight").removeClass("highlight");。选择$(".edgetoedge"),您只运行该级别的功能。

答案 2 :(得分:16)

这只会从highlight类的所有内容中删除edgetoedge类:

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

我想你想要这个:

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

.edgetoedge .highlight选择器会选择edgetoedge类的某个孩子的所有内容,并且具有highlight类。

答案 3 :(得分:6)

你可以试试这个:

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

从所有元素中删除jquery中的类的最佳方法是通过元素标签定位。例如,

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