我需要有关此脚本的一些帮助:
var xpathResult = document.evaluate("(//text()[contains(., 'TEXT GOES HERE')])[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node=xpathResult.singleNodeValue;
if (node==null)
我还有一个像这样的字符串列表:
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
我可以用变量 mycars 替换第一个脚本中的 TEXT GOES HERE 吗?我这样做是因为我有一个动态生成的页面,我想根据存在的数组使用greasemonkey 对其进行操作。
最佳答案
这个问题有点不清楚,但一般来说,您会使用 for()
循环。像这样的事情:
var foundSomething = false;
for (var J in mycars) {
var xpathResult = document.evaluate (
"(//text()[contains(., '" + mycars[J] + "')])[1]",
document,
null,
XPathResult.FIRST_ORDERED_NODE_TYPE,
null
);
var node = xpathResult.singleNodeValue;
if (node) {
foundSomething = true;
// DO WHATEVER WITH THE FOUND NODE HERE.
// break; // Un-comment this statement to stop on the first match.
}
}
关于javascript - 在 xpath 中使用动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144016/