2009-09-22 8 views

Répondre

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

J'ai utilisé ce code: $ ("div"). Remove (". Com_blog> .blog_post_detail"); Est-il possible d'ajuster cela pour que je puisse ajouter une autre classe à supprimer pour un lien (a)? –

5

Ouais. Vous le faites comme ceci:

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

Ou, en supposant que vous voulez seulement le faire sur un certain div, tant que la div a un jeu d'attribut id, vous pouvez le faire:

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

Avec les sélecteurs jQuery, # avec du texte après qu'il fait référence à l'objet (div, span, ancre, peu importe) avec l'attribut id défini sur ce que ce texte est. Une période fait référence à tous les objets avec le nom de la classe correspondant au texte qui suit la période. Comme démontré ci-dessus, vous pouvez imbriquer le texte du sélecteur. Ainsi, dans les exemples ci-dessus, voici ce qui se passe:

Exemple # 1

  1. Trouver tous les divs
  2. recherche tous les ancres dans tous les divs
  3. trouve tous les points d'ancrage de # 2 qui ont classe .className

Exemple # 2

  1. Trouvez la div avec l'attribut id réglé sur « divIDValue »
  2. Trouver tous les tags d'ancrage au sein de cette div
  3. Trouver tous les tags d'ancrage dans cette liste des balises d'ancrage qui correspondent au nom de la classe className

Gardez à l'esprit que pour tous les objets de votre page, un seul objet peut avoir une valeur id particulière. Donc, vous pouvez avoir deux objets avec le id défini sur 'divIDValue' - bien que votre page sera probablement toujours OK, jQuery ne trouvera que le premier élément avec id. Les classes, d'un autre côté, peuvent être utilisées pour plusieurs éléments (comme vous le savez probablement déjà).

7

Si la recherche est une classe:

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

Si la recherche est un ID:

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

Une solution plus générique pour enlever la classe de tout élément possible.

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

Ou

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

Cela affectera tous les éléments de l'emballage: portée, h3, div, li, td, etc. Avec HTML 5, il y a maintenant plus de 100 balises possibles.

Questions connexes