2010-12-13 17 views
5

J'ai une longue liste de plusieurs div ... disons 20 divclasse Stripe pour div

Tous wrap dans un autre ..

<div id="main"> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
<div class="xyz"> text text </div> 
.... etc 
</div> 

i comme dans une classe d'ajouter "gris" sur deux div et en faire zèbre! jquery s'il vous plaît!

+0

excuse .. quelques corrections faites (id/class) – menardmam

+2

En fait, votre ancien code était bien. Votre nouveau n'est pas valide car vous avez des ID en double. – casablanca

+0

En fait, vous n'avez pas du tout besoin de la classe xyz. Si tous les éléments d'un autre élément ont la même classe, vous pouvez aussi le supprimer et les sélectionner par '#main> div'. –

Répondre

5

$('.xyz:odd').addClass('grey');

Est-ce que l'esprit 'gris' n'est pas un nom de classe sémantique. Mieux vaut appeler id "impair" ou "zèbre" ou quelque chose. Si vous voulez faire votre esprit et changer la couleur étrange de bleu de votre classname serait réelle étrange: P

+0

grand commentaire! ... je devrais penser plus ... – menardmam

1

Si vous ne se soucient pas les anciennes versions de IE, vous pouvez le faire seul ce en utilisant le CSS:

.xyz:nth-child(odd) { 
    background-color: ...; 
} 

.xyz:nth-child(even) { 
    background-color: ...; 
} 
+0

je m'inquiète! ... doit être ie6 amical! – menardmam

+0

@marc: Tant pis. :) – casablanca

+0

malheureusement, même IE8 ne supporte pas cela .. grosse déception. –

Questions connexes