xpath - 限制搜索到节点不工作?

时间:2010-05-11 08:25:03

标签: javascript xpath greasemonkey

我在这里做错了什么?我试图将我的xpath搜索限制在我的表中的特定行,但我的查询总是返回第一行中的span的内容:

var query = "//span[contains(@id, 'timer')]";
var root = document.getElementById('movements').rows[1];
document.evaluate(query, root, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.textContent

请帮忙!

3 个答案:

答案 0 :(得分:2)

"//span[contains(@id, 'timer')]"

问题:这是绝对 XPath表达式,它忽略了您从特定行评估它的事实。

解决方案:要实现想要的结果,请使用:

.//span[contains(@id, 'timer')]

答案 1 :(得分:0)

您将获得第一行:

var root = document.getElementById('movements').rows[1];

这将获得第二行:

var root = document.getElementById('movements').rows[2];

您需要指定所需行的正确索引。

答案 2 :(得分:0)

请改为尝试:

var query = "//td//span[contains(@id, 'timer')]";