Ответ: выбор четных строк таблицы из элемента таблицы - PullRequest
0 голосов
/ 01 мая 2010

У меня проблема:

Как перейти от переменной, указывающей на элемент dom, к использованию селекторов CSS?

Я хочу сделать эту работу:

function highlight(table)
{$(table " > :even").toggleClass('highlight');}

где таблица - ссылка на элемент таблицы.

Мне не нужны ответы, которые говорят мне использовать $ ('# table'), потому что это противоречит общности, которую я пытаюсь сформулировать.

Спасибо

Ответы [ 3 ]

2 голосов
/ 01 мая 2010

Вы можете сделать это так:

function highlight(table) {
  $(table).find("tr:even").toggleClass('highlight');
}

В качестве альтернативы вы можете использовать '> :even', но будьте осторожны, потому что здесь есть <tbody> элементы и тому подобное, если у вас нет вложенных таблиц, приведенный выше код является более гибким подходом.

1 голос
/ 01 мая 2010

конкатенация.

$(table + " > :even")

ПРЕДУПРЕЖДЕНИЕ:

Это будет работать, только если переменная table ссылается на строку, которая описывает элемент. Если переменная на самом деле ссылается на элемент DOM, вам необходимо либо извлечь из него идентификатор перед объединением, либо (лучше) см. ответ Ника Крейвера .

0 голосов
/ 01 мая 2010

Вы можете передать второй аргумент $(), который указывает контекст, в котором должен выполняться поиск:

$("tr:even", table)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...