Как выбрать первую строку первой таблицы на HTML-странице с помощью jQuery? - PullRequest
19 голосов
/ 08 мая 2009

Предположим, если у меня есть несколько таблиц на моей HTML-странице (без их атрибута 'id'), как я могу выбрать первую строку первой таблицы или любую конкретную таблицу с помощью селекторов jQuery?

Ответы [ 6 ]

33 голосов
/ 08 мая 2009
$("table:first > tr:first")

или

$("table:first").find("tr:first")

или

$("table:first").children("tr:first")

или

$("table").eq(0).children("tr").eq(0)

Так что, если я понимаю следующий вопрос ...

$("table:eq(1) tr:has(table:eq(2))")

переводится как: получить любые tr во второй таблице, если tr имеет третью таблицу

или

$("table").eq(1).children("tr:has(table:eq(2))")
5 голосов
/ 08 мая 2009

Что-то, что вы можете использовать для выбора n-й строки в n-й таблице:

$("table:eq(n) tr:eq(n)")

, где n - индекс таблицы, начинающийся с нуля, или tr.

Пример:

$("table:eq(2) tr:eq(4)")

получает 5-ю строку 3-ей таблицы.

2 голосов
/ 21 января 2010

@ svinto ответ, безусловно, самый короткий, быстрый и простой способ сделать это. Если вы действительно обеспокоены производительностью (например, выбираете в произвольном сложном для цикла), это, скорее всего, окажется немного быстрее:

$('tr').eq(0)

Если вам не нужно использовать только jQuery-селекторы и фактически требуется элемент DOM <TR>, вы можете использовать:

$('table')[0].rows[0]

В качестве альтернативы:

$('tr')[0]
1 голос
/ 08 мая 2009

Используя метод eq() в jQuery, вы можете указать индекс элемента, который хотите получить.
Это выберет первую строку второй таблицы, найденной в DOM

$('table:eq(1) tr:first')
0 голосов
/ 08 мая 2009
$("tr:first");
0 голосов
/ 08 мая 2009

Хотя это не относится к jQuery, я был представлен селекторам dom на этой странице w3c селекторы . Это очень подробно, но полно сложных примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...