JQuery Selector для таблицы со скрытой строкой - альтернативная раскраска строк - PullRequest
3 голосов
/ 31 января 2011

У меня есть таблица, и обычно я использую этот селектор для применения нечетных и четных строк:

table.find('tbody tr:even').addClass('even');
table.find('tbody tr:odd').removeClass('even');

В моей таблице есть строки, вставляемые в разных местах, поэтому я удаляю ее из нечетных строк.

Теперь у меня есть определенные строки, скрытые с использованием

jQueryTrObject.hide();

. Я хочу применить тот же стиль, что и раньше, чтобы альтернативные строки, насколько это касается пользователя, были размечены как нечетные и четныеи я хотел бы, чтобы это учитывало скрытые ряды.

Как мне написать селектор, чтобы сделать это, потому что я должен использовать каждый и специально проверить?

Ответы [ 4 ]

6 голосов
/ 31 января 2011

используйте селектор :visible

table.find('tbody tr.even').removeClass('even');
table.find('tbody tr:visible:even').addClass('even');

Не забудьте сначала использовать его, чтобы после него применялся фильтр :even.

0 голосов
/ 31 января 2011

Используйте :not(:hidden) селектор

table.find('tbody tr:not(:hidden):even').addClass('even');
0 голосов
/ 31 января 2011

Вы можете использовать селектор: visible только для разметки видимой строки:

table
    .find('tbody tr:visible:even')
    .addClass('even')
.end()
    .find('tbody tr:visible:odd')
    .removeClass('even');
.end();
0 голосов
/ 31 января 2011

Попробуйте это:

table.find('tbody tr').removeClass('even')
    .filter(':visible:even').addClass('even');
...