2012-05-15 37 views
5

jQuery:jQuery dispari anche su lista annidata

$("li:even div").removeClass("odd even").addClass("odd"); 
$("li:odd div").removeClass("odd even").addClass("even");​ 

http://jsfiddle.net/hashie5/vk6rZ/

Come si può vedere nel violino, pari/dispari non funziona correttamente, che cosa sto sbagliando?

+3

Gli elementi 'li' non hanno lo stesso genitore, ecco perché non funzionerà. –

+0

grazie, lo so, ma come posso risolvere questo? – Ruben

+4

Non sono sicuro che tu voglia questo. Ma date un'occhiata http://jsfiddle.net/joycse06/vk6rZ/4/ –

risposta

3

sguardo al li:even>div invece di li:even div

$("li:even>div").removeClass("odd even").addClass("odd"); 
$("li:odd>div").removeClass("odd even").addClass("even"); 
+1

è stato il primo, grazie – Ruben

6

Ecco un esempio di lavoro

http://jsfiddle.net/joycse06/vk6rZ/4/

bersaglio figli immediati (div)

$("li:even > div").removeClass("odd even").addClass("odd"); 
$("li:odd > div").removeClass("odd even").addClass("even");​ 
+0

grande questo è esattamente ciò di cui ho bisogno, grazie a tutti – Ruben

Problemi correlati