Javascript XPath根据另一个节点的位置按位置选择节点

Javascript XPath根据另一个节点的位置按位置选择节点,javascript,xml,dom,xpath,Javascript,Xml,Dom,Xpath,使用XPath,有没有一种方法可以选择一个节点,该节点的位置等于来自不同父节点的另一个节点的位置 具体地说,假设我有一个简单的HTML表,也可以在以下位置使用: 但是现在我想提取th的位置,它等于2,然后用它来选择td,通过它的位置 从概念上讲,我希望执行以下操作,但它不是有效的XPath: $x("//td[position()=//th[text()='Col B'][position()]") 这有可能吗?您可以计算字符串值为任意给定值(例如,列B)的th之前的th元素数,并使用该计数选

使用XPath,有没有一种方法可以选择一个节点,该节点的位置等于来自不同父节点的另一个节点的位置

具体地说,假设我有一个简单的HTML表,也可以在以下位置使用:

但是现在我想提取th的位置,它等于2,然后用它来选择td,通过它的位置

从概念上讲,我希望执行以下操作,但它不是有效的XPath:

$x("//td[position()=//th[text()='Col B'][position()]")

这有可能吗?

您可以计算字符串值为任意给定值(例如,列B)的th之前的th元素数,并使用该计数选择相应的td元素:


正是我需要的。谢谢不客气。谢谢你提出这么一个精心设计、有趣的问题。
$x("//th[text()='Col B']")
$x("//td[position()=//th[text()='Col B'][position()]")
//td[count(//th[.='Col B']/preceding-sibling::th)+1]