2009-09-28 3 views
1

Я хочу, чтобы добавить класс «второго-Col» ко всем второй ТД в каждой строке, но это не работает:Добавление класса ко всем элементам с помощью: эк

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

Что разметка выглядит? Насколько я вижу, нет ничего плохого в этом коде jQuery. –

+0

Во-вторых, что. Код jQuery выглядит отлично. –

ответ

-1

попробовать

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

Это не сработает: eq (1) уменьшит набор только на один элемент. Таким образом, этот код будет влиять только на первую строку. – RaYell

0

используя простой выбор CSS:

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

Обратите внимание, что если у вас имеется более двух столбцов, то будут выбраны и те, что указаны после второго столбца. Таким образом, в зависимости от вашей разметки это может быть или не может быть релевантным: вам нужно будет перезаписать эти дополнительные столбцы с помощью другого jquery-действия (используя td + td + td). Но я думал, что хочу указать на эту возможность.

1

Вы также можете использовать:

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

или

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

в зависимости от того, что вы хотите выбрать.

документация:

even

Odd

+0

Это умно! – pixeline

Смежные вопросы