JQuery - Как выбрать: нечетные непосредственные потомки элемента
У меня есть таблица как это:
<table class='table'>
<tr></tr>
<tr><tr>
<tr>
<table><tr></tr></table
<tr></tr>
</table>
и я хочу выбрать только непосредственный нечетный tr после.table.
То, что я пытался это:
$('.table > tr:odd').addClass('odd');
Но это не делает работу.
Кто-нибудь знает? Благодарю.
2 ответа
Решение
и я хочу выбрать только непосредственный tr после.table.
Вы используете другое имя класса, чем вы упоминаете, попробуйте:
$('.table > tr:odd').addClass('odd');
Также не забудьте обернуть ваш код в готовый обработчик:
$(function(){
$('.table > tr:odd').addClass('odd');
});
Вы также должны попробовать добавить tbody
:
$('.table > tbody > tr:odd').addClass('odd');
Другой вариант будет использовать filter()
(документы) метод.
$('.table > tbody > tr').filter(function(i){
return !(i % 2);
}).addClass('odd');
Это позволит вам использовать действительный CSS-селектор при первоначальном выборе, что даст хороший прирост производительности в браузерах, которые поддерживают querySelectorAll
,
Пример: http://jsfiddle.net/kbnH2/