2009-09-22 13 views

Respuesta

26
$("#mydiv a").removeClass("active"); 
+0

Utilicé este código: $ ("div"). Remove (". Com_blog> .blog_post_detail"); ¿Es posible ajustar eso para poder agregar otra clase para eliminar que sea para un enlace (a)? –

5

Sí. Usted lo hace así:

$("div a .className").removeClass("className") 

O, suponiendo que sólo desea hacerlo en un determinado div, siempre y cuando el div tiene un conjunto de atributos de identificación, usted puede hacer esto:

$("#divIDValue a .className").removeClass("className") 

Con los selectores de jQuery, # con un poco de texto después de que se refiera al objeto (div, span, anchor, lo que sea) con el atributo id establecido en el texto que sea. Un período se refiere a todos los objetos con el nombre de la clase que coincide con el texto que viene después del período. Como se demostró anteriormente, puede anidar el texto del selector. Así que en los ejemplos anteriores, esto es lo que sucede:

Ejemplo # 1

  1. Buscar Todos los divs
  2. encuentra todas las anclas dentro de todos los divs
  3. encuentra todos los anclajes de # 2 que tienen clase .className

Ejemplo # 2

  1. Encuentra el div con el atributo id establecido en "divIDValue"
  2. Buscar todas las etiquetas de anclaje dentro de ese div
  3. Buscar todas las etiquetas de anclaje dentro de esa lista de etiquetas de anclaje que coinciden con el nombre de la clase className

Tenga en cuenta que para todos los objetos en su página, solo un objeto puede tener un valor particular de id. Por lo tanto, puede tener dos objetos con el id establecido en 'divIDValue' - aunque su página probablemente aún se vea bien, jQuery solo encontrará el primer elemento con id. Las clases, por otro lado, se pueden usar para varios elementos (como probablemente ya sepa).

7

Si la búsqueda es una clase:

$("div.search a").removeClass("active"); 

Si la búsqueda es un ID:

$("#search a").removeClass("active"); 
3

Una solución más genérica para eliminar la clase de cualquier posible elemento.

// I like to use find as I usually have my wrapper in a variable. 
$('#my-wrapper').find('.active').removeClass('active'); 

O

$('#my-wrapper .active').removeClass('active'); 

Esto afectará a todos los elementos dentro de la envoltura: Span, h3, div, li, td, etc. con HTML 5 en la actualidad hay más de 100 etiquetas posibles.

Cuestiones relacionadas