XPath以基于另一个节点按位置选择节点's的位置
XPath to select a node by position based on another node's position
使用XPath,有没有办法选择一个位置等于另一个来自不同父级的节点的位置的节点?
具体来说,假设我有一个简单的HTML表(也可以在这个jsFiddle中获得):
<table>
<thead>
<tr>
<th>Col A</th>
<th>Col B</th>
<th>Col C</th>
<th>Col D</th>
</tr>
</thead>
<tbody>
<tr>
<td>Field A</td>
<td>Field B</td>
<td>Field C</td>
<td>Field D</td>
</tr>
</tbody>
</table>
假设我想选择第二列的td
,即<td>Field B</td>
,但我想通过查找标题为"Col B"
的列来表达它。换句话说,我想选择具有position()=2
的<td>Field B</tb>
,但我不想硬编码2,而是想通过查找文本为"Col B"
的th
来导出它。
当然,我可以使用选择th
$x("//th[text()='Col B']")
但现在我想提取th
的position()
(等于2),并用它来根据位置选择td
。
从概念上讲,我想做如下的事情,除了它不是有效的XPath:
$x("//td[position()=//th[text()='Col B'][position()]")
这有可能吗?
您可以计算字符串值为任意给定值(例如"Col B"
)的th
之前的th
元素的数量,并使用该计数来选择相应的td
元素:
//td[count(//th[.='Col B']/preceding-sibling::th)+1]
相关文章:
- 如何将节点移动到所需位置
- XPath以基于另一个节点按位置选择节点's的位置
- d3.js - 强制布局和节点位置
- 在树中的特定位置创建 JSTree 节点
- d3树节点位置
- 在Javascript中获取节点CSS的绝对位置
- JavaScript 将节点移动到 lastChild 之后的位置
- 如何本地化节点.js应用程序,每个区域设置具有不同的单词位置,混合静态和动态本地化文本
- 可拖动组,不会更改组中的节点位置
- 如何获取从 DOMNodeRemove 事件中删除的元素的节点位置
- 如何在不依赖 javascript 中的 id、类或内容的情况下查找和检索节点位置
- D3 强制有向节点作为文本 - 计算相对箭头指向位置
- 如何使用cy.load设置细胞景观中节点的起始位置.js
- 全局变量存储在 Node.JS 中的什么位置?节点中是否有类似窗口的对象
- 我们将 npm 安装的节点模块放在 Meteor 项目中的什么位置
- 修复 D3 强制定向布局中的节点位置
- D3力定向图:更新节点位置
- 在d3力定向网络中设置初始位置后的NaN节点位置
- 如何在成功获取节点位置后眨眼节点
- 根据d3.js中的另一个值修复节点位置