我在这里做错了什么?我试图将我的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
请帮忙!
答案 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')]";