2011-05-13 19 views
55

estoy cambiando la clase de un elemento con el siguienteCómo quitar la clase de todos los elementos de jQuery

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

Dada la siguiente lista.

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

supuse que podía quitar la clase con esta ...

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

Pero esto no funciona. ¿Cómo puedo eliminar la clase?

Respuesta

107

Usted deberá seleccionar los li etiquetas contenidas dentro de la clase .edgetoedge. .edgetoedge solamente coincide con la etiqueta de uno ul:

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

Usé $ ("li"). RemoveClass ("resaltar"); en fin, thx – maxum

29

prueba: $(".highlight").removeClass("highlight");. Al seleccionar $(".edgetoedge"), solo está ejecutando funciones en ese nivel.

+0

Su respuesta debe aceptarse. Un truco muy interesante, me salvaste el día. – vietnguyen09

5

Usted podría intentar esto:

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

+1 para niños() ... gracias –

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

Esto sólo elimina la clase highlight de todo lo que tiene la clase edgetoedge:

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

Creo que quieres esto:

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

El El selector .edgetoedge .highlight elegirá todo lo que sea hijo de algo con el edgetoedge clase y tiene la clase highlight.

+2

+1 para la capacidad de orientar elementos sin conocer el tipo de elemento. – Andy

Cuestiones relacionadas