如何使用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");