2012-07-05 11 views
6

ho questo codice html:classe metti in bambini - jQuery

<div class="rotation"> 
    <ul> 
    <li><img src="..." alt="" /></li> 
    <li><img src="..." alt="" /></li> 
    <li><img src="..." alt="" /></li> 
    </ul> 
</div> 

ho bisogno di aggiungere classe UL, voglio farlo utilizzando jQuery, perché ul, li sono generati senza alcuna classe.
Diciamo che ul tag deve essere <ul class="image_rotation">. Come posso farlo?

risposta

11

Read about jQuery's addClass method here.

$('.rotation ul').addClass('image_rotation'); 

Il codice qui sopra aggiungere una classe di image_rotation ad ogni ul che è un discendente di ogni elemento con la classe rotation.

Se si vuole indirizzare solo ul s che sono un figlio diretto di un elemento con una classe di rotation, usa il child selector (>):

$('.rotation > ul').addClass('image_rotation'); 

Se si desidera solo fare questo su un .rotation elemento , dovresti dargli un ID e selezionarlo in questo modo. Per esempio:

$('#rotation ul'); 

e

<div id="rotation" class="rotation"> 
    <ul> 
     <li><img src="..." alt="" /></li> 
     <li><img src="..." alt="" /></li> 
     <li><img src="..." alt="" /></li> 
    </ul> 
</div> 
+0

Questo è meglio di Google. Ho scritto la mia domanda e dopo 30 secondi ottengo una risposta. Prima che stavo cercando questo in google per 10 minuti non minacciosi. Ottima risposta btw. – miszczu

+0

@miszczu Grazie e sì, questo sito è incredibilmente utile. Un consiglio amichevole: fai attenzione a fare domande come questa. Possiamo andare avanti o meno la domanda a seconda di quanti sforzi di ricerca hai effettuato e di quanto chiara sia la domanda. Questa domanda è molto chiara, ma in precedenza ho notato che avevi un downvote (sembra che tu ora torni a 0). Questo probabilmente perché non hai fatto alcuno sforzo di ricerca. Ricorda di mostrare ciò che hai provato finora e quale documentazione hai visto. A volte, dopo averlo fatto, puoi rispondere alla domanda da solo! evviva – lbstr

1
$(".rotation").children("ul").addClass("MyClass"); 
+0

'children' ha un minuscolo c e ti manca il' $ 'o' jQuery' prima di '(" .rotation ")' – lbstr

+0

@lbstr - sì aggiornato grazie per aver atteso che .. –

2

E 'abbastanza facile, basta fare:

$(document).ready(function(){ 
    $('div.rotation ul').addClass('image_rotation'); 
}); 
6

Io suggerirei di mantenere le cose semplici:

$('div.rotation ul').addClass('image_rotation'); 

Oppure, se si dispone di più ul elementi all'interno dell'elemento div.rotation, è possibile specificare il primo ul:

$('div.rotation ul:first').addClass('image_rotation'); 

L'ultima ul:

$('div.rotation ul:last').addClass('image_rotation'); 

O un ul di arbitray indice a base zero, ad esempio il terzo ul (con un indice di 2):

$('div.rotation ul:eq(2)').addClass('image_rotation'); 

o:

$('div.rotation ul').eq(2).addClass('image_rotation'); 

o di un figlio immediato (quindi niente ul elementi annidati in altri elementi):

$('div.rotation > ul').addClass('image_rotation'); 

Riferimenti:

3

tutto ciò che serve è trovare UL nel div e assegnargli la classe. si può vedere in questo demo, ma il codice HTML per la vostra è inferiore

$(document).ready(function(){ 
    $('ul','div.rotation').each(function(index){ 
     $(this).addClass('image_rotation'); 
    }); 
});​ 
2
$(".rotation ul").attr("class","image_rotation"); 
Problemi correlati