假设如果我的 HTML 页面中有多个表(没有它们的 'id' 属性),那么如何使用 jQuery 选择器选择第一个表的第一行或任何特定表?
Kedar
问问题
52670 次
6 回答
33
$("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))")
于 2009-05-08T08:55:28.097 回答
5
Something you can use to select the nth row in the nth table:
$("table:eq(n) tr:eq(n)")
with n being the zero based index of the table or tr.
Example:
$("table:eq(2) tr:eq(4)")
gets the 5th row of the 3rd table.
于 2009-05-08T10:30:06.140 回答
2
@svinto 的回答绝对是完成此任务的最短、最快和最简单的方法。如果您真的关心性能(例如,在任意复杂的 for循环中选择),这很可能会更快一点:
$('tr').eq(0)
如果你不需要只使用jQuery 选择器并且实际上需要 DOM<TR>
元素,你可以使用:
$('table')[0].rows[0]
或者:
$('tr')[0]
于 2010-01-21T10:27:30.300 回答
1
使用 jQuery 的eq()
方法,您可以指定要获取的元素的索引。
这将选择在 DOM 中找到的第二个表的第一行
$('table:eq(1) tr:first')
于 2009-05-08T09:59:58.583 回答
0
$("tr:first");
于 2009-05-08T10:12:14.933 回答
0
虽然不是 jQuery 特定的,但我在这个w3c 选择器页面上被介绍了 dom 选择器。它非常详细,但充满了复杂的例子。
于 2009-05-08T09:50:18.043 回答