XPATH 根据子元素定位问题

312 天前
 z5e56

https://github.com/NVlabs/stylegan2 此页面为例,页面中包含 3 个表格,尝试通过查找包含文本 Additional material 的 th 元素来定位第一个 table (不通过序数直接定位)

下面为在 Chrome 控制台中的查找测试

> $x('//table//th[text()="Additional material"]')[0].innerText // 能正确定位到该 th
'Additional material'
> $x('//table[//th[text()="Additional material"]]') // 返回了页面中的全部 3 个 table
(3) [table, table, table]
> $x('//table[descendant::th[text()="Additional material"]]') // 这个才返回了正确的 table
[table]

如上所示,请问一下

  1. 为什么第二个返回了所有 table ?
  2. //descendant:: 的区别是什么以及各自正确使用的场景应该是什么?
241 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/961813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX