2010-12-13 8 views
5

mam długą listę wielokrotnego dz ... powiedzmy 20 divStripe dla div

Wszystko okład w innym ..

<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> 

Chciałbym dodać klasę „szary” w jednym z dwóch elementów div i uczyń go zebrą! jquery proszę!

+0

Przepraszam .. niektóre poprawki zostały wykonane (id/klasa) – menardmam

+2

W rzeczywistości twój stary kod był w porządku. Twoja nowa jest nieważna, ponieważ masz duplikaty identyfikatorów. – casablanca

+0

W rzeczywistości nie potrzebujesz w ogóle klasy xyz. Jeśli wszystkie elementy wewnątrz innego elementu mają tę samą klasę, możesz równie dobrze ją usunąć i wybrać przez '#main> div'. –

Odpowiedz

5

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

przeszkadza, że ​​'szary' nie jest semantyczny classname. Lepszy identyfikator połączenia "dziwny" lub "zebra" lub coś podobnego. Jeśli chcesz uzupełnić swój umysł i zmienić kolor na niebieski dziwny Twój classname byłby prawdziwy dziwny: P

+0

świetny komentarz! ... powinienem myśleć więcej ... – menardmam

1

Jeśli nie dbają o starszych wersjach IE, można zrobić to samo przy użyciu CSS:

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

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

i dbać! ... musi być ie6 przyjazny! – menardmam

+0

@marc: Nieważne. :) – casablanca

+0

Niestety nawet IE8 nie obsługuje tego .. wielkiego bummer. –