2009-09-28 5 views
1

Je veux ajouter la classe « deuxième col » à tous deuxième TD dans chaque ligne, mais cela ne fonctionne pas:classe Ajout à tous les éléments en utilisant: eq

$('table.tst3 tbody td:eq(1)').addClass('second-col'); 
+1

Qu'est-ce que le balisage ressemble? Il n'y a rien de mal avec ce code jQuery autant que je peux voir. –

+0

Deuxièmement. Le code jQuery a l'air bien. –

Répondre

-1

essayer

$('table.tst3 tbody tr td:nth-child(2)').addClass('second-col'); 
au lieu
+1

Cela ne fonctionnera pas car: eq (1) réduira l'ensemble à un seul élément. Donc, ce code affectera seulement la première rangée. – RaYell

0

utilisant une sélection de plaine css:

$('table.tst3 tbody td + td').addClass('second-col'); 

Notez que si vous avez plus de 2 colonnes, celles qui suivent la deuxième colonne seront également sélectionnées. Donc, en fonction de votre balisage, cela peut - ou ne pas être pertinent: vous devez remplacer ces colonnes supplémentaires par une autre action jquery (en utilisant td + td + td). Mais je pensais que je pointerais vers cette possibilité.

1

Vous pouvez également utiliser:

$('table.tst3 tbody td:odd').addClass('second-col'); 

ou

$('table.tst3 tbody td:even').addClass('second-col'); 

en fonction de ce que vous voulez sélectionner.

documentation:

even

Odd

+0

C'est intelligent! – pixeline

Questions connexes