0

谈到 XPath 中的索引,我觉得我在这里遗漏了一些东西。

如果我在 HTML 文档中有两个表格标签,并在 Chrome 控制台中键入

$x("//table[1]");
,我希望得到页面上的第一个表格标签。

相反,我得到一个包含两个表标签的列表。我怀疑这可能与使用有关

//
但是使用绝对 XPath 表达式会产生相同的结果。

我认为这是一个非常简单的误解,但是在阅读文档时我没有看到它。

4

2 回答 2

1

//table[1]返回作为其各自父项的第一个子表的所有表。

要获得第一个表,请使用/descendant::table[1]或在 XPath 2.0(//table)[1]中。

是标准中的:

路径表达式//para[1] 与路径表达式/descendant::para[1] 的含义不同。后者选择第一个后代 para 元素;前者选择作为其各自父母的第一个 para 孩子的所有后代 para 元素。

于 2012-10-02T18:44:24.190 回答
0

利用

(//table)[1]

即所有表格中的第一个。

于 2012-10-02T18:45:20.520 回答