如何使用jQuery选择html页面中第一个表的第一行?
假设我的HTML页面中有多个表(没有’id’属性),那么如何使用jQuery选择器选择第一个表的第一行或任何特定的表?
$("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有第3个表,则获取第2个表中的任何tr
要么
$("table").eq(1).children("tr:has(table:eq(2))")
你可以用来选择第n个表中第n行的东西:
$("table:eq(n) tr:eq(n)")
n是表或tr的基于零的索引。
例:
$("table:eq(2) tr:eq(4)")
得到第3张桌子的第5行。
@ svinto的答案肯定是实现这一目标的最短,最快捷,最简单的方法。 如果你真的关心性能(比如在一个任意复杂的循环中选择),这很可能会更快一点:
$('tr').eq(0)
如果您不需要仅使用jQuery选择器并且实际需要DOM
元素,则可以使用:
$('table')[0].rows[0]
或者:
$('tr')[0]
使用jQuery的eq()
方法,您可以指定要获取的元素的索引。
这将选择在DOM中找到的第二个表的第一行
$('table:eq(1) tr:first')
虽然不是特定于jQuery,但我在这个w3c选择器页面中被介绍给dom选择器 。 它非常详细但充满复杂的例子。
$("tr:first");