如何使用jQuery选择html页面中第一个表的第一行?

如何使用jQuery选择html页面中第一个表的第一行?,jquery,css-selectors,Jquery,Css Selectors,假设我的HTML页面中有多个表(没有它们的“id”属性),那么如何使用jQuery选择器选择第一个表的第一行或任何特定表 $("table:first > tr:first") 或 或 或 所以如果我理解了接下来的问题 $("table:eq(1) tr:has(table:eq(2))") 翻译为:如果tr有第三个表,则获取第二个表中的任何tr 或 虽然不是特定于jQuery的,但我是在这里被介绍给dom选择器的。它非常详细,但充满了复杂的示例。使用jQuery的eq()方法,您可以

假设我的HTML页面中有多个表(没有它们的“id”属性),那么如何使用jQuery选择器选择第一个表的第一行或任何特定表

$("table:first > tr:first")

所以如果我理解了接下来的问题

$("table:eq(1) tr:has(table:eq(2))")
翻译为:如果tr有第三个表,则获取第二个表中的任何tr


虽然不是特定于jQuery的,但我是在这里被介绍给dom选择器的。它非常详细,但充满了复杂的示例。

使用jQuery的
eq()
方法,您可以指定要获取的元素的索引。
这将选择在DOM中找到的第二个表的第一行

$('table:eq(1) tr:first')

可用于选择第n个表中第n行的内容:

$("table:eq(n) tr:eq(n)")
n是表或tr的从零开始的索引

例如:

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

获取第三个表的第5行。

@svinto的答案绝对是最短、最快、最简单的方法。如果您真的关心性能(例如,在任意复杂的for循环中进行选择),这很可能会快一点:

$('tr').eq(0)
如果您不需要仅使用jQuery选择器,并且实际上需要DOM
元素,则可以使用:

$('table')[0].rows[0]
或者:

$('tr')[0]

感谢Chad,它正在发挥作用(只有第二种选择)。但下一个问题是,如果页面中第二个表包含3个表,是否要选择其中的任何一行。您建议的命令仅对第一个或最后一个表成功;中间表呢。ThanksjQuery非常灵活,我需要查看您的html结构以提供准确的示例。例如,如果表中有标记,那么代码中的第一个示例将不起作用。请发布一些示例HTML,我可以快速创建选择器。我建议将
.children(“tr:first”)
替换为
.find('>tbody>tr,>tr')
,因为最新的jQuery通过选择器引擎支持什么,Sizzle:实际上这将选择第三个表中的第一行。eq()是基于零的
$("table:eq(n) tr:eq(n)")
$("table:eq(2) tr:eq(4)")
$('tr').eq(0)
$('table')[0].rows[0]
$('tr')[0]