2009-09-22 9 views

risposta

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

Ho usato questo codice: $ ("div"). Remove (". Com_blog> .blog_post_detail"); È possibile regolarlo in modo tale da poter aggiungere un'altra classe per rimuovere quello che è per un collegamento (a)? –

5

Sì. Lo si fa in questo modo:

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

Oppure, supponendo che si desideri solo farlo su un certo div, fino a quando il div ha un set di attributo id, si potrebbe fare questo:

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

Con i selettori jQuery, # con un testo dopo che si riferisce all'oggetto (div, span, anchor, qualunque) con l'attributo id impostato su qualunque sia il testo. Un punto si riferisce a tutti gli oggetti con il nome della classe che corrisponde al testo che viene dopo il punto. Come dimostrato sopra, puoi annidare il testo del selettore. Quindi, negli esempi precedenti, ecco cosa succede:

Esempio # 1

  1. Trova tutti i div
  2. trova tutte le ancore all'interno di tutti i div
  3. trova tutte le ancore da 2 # che hanno classe .className

Esempio # 2

  1. Trova il div con l'attributo id impostato su "divIDValue"
  2. Trova tutti i tag di ancoraggio all'interno di tale div
  3. Trova tutti i tag di ancoraggio all'interno di tale elenco di tag di ancoraggio che corrispondono al nome della classe className

Ricordare che per tutti gli oggetti nella pagina, solo un oggetto può avere un valore particolare id. Quindi, puoi avere due oggetti con lo id impostato su 'divIDValue' - anche se la tua pagina probabilmente continuerà a sembrare OK, jQuery troverà solo il primo elemento con id. Le classi, d'altra parte, possono essere utilizzate per più elementi (come probabilmente già sapete).

7

Se la ricerca è una classe:

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

Se search è un ID:

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

Una soluzione più generica per rimuovere la classe da ogni elemento possibile.

// 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'); 

Questo avrà effetto su tutti gli elementi all'interno della confezione: campata, H3, div, Li, td, ecc con l'HTML 5 ora ci sono più di 100 possibili tag.

Problemi correlati