2010-12-13 9 views
5

ho una lunga lista di div più ... diciamo 20 divbanda per div

Tutti avvolgere in un altro ..

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

Mi piace aggiungere classe "grigia" in una su due div e fatelo zebra! jquery per favore!

+0

scusa .. alcune correzioni fatte (id/classe) – menardmam

+2

In realtà il tuo vecchio codice andava bene. Il tuo nuovo non è valido perché hai ID duplicati. – casablanca

+0

In effetti, non hai affatto bisogno della classe xyz. Se tutti gli elementi all'interno di un altro elemento hanno la stessa classe, puoi rimuoverlo e selezionarli con '#main> div'. –

risposta

5

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

fare presente che 'grigia' non è un nome di classe semantica. Meglio chiamare id 'strano' o 'zebra' o qualcosa del genere. Se desideri portare la vostra mente e cambiare il colore strano blu vostro nomeclasse sarebbe vero e proprio strano: P

+0

ottimo commento! ... dovrei pensare di più ... – menardmam

1

Se non si cura di vecchie versioni di IE, è possibile farlo usando i CSS solo:

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

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

mi interessa! ... deve essere ie6 amichevole! – menardmam

+0

@marc: non importa quindi. :) – casablanca

+0

sfortunatamente anche IE8 non supporta questo .. grande fiasco. –