我在 XPathEvaluator()
对象上使用 evaluate()
函数时遇到一些问题。
我的代码如下所示:
var evaluator = new XPathEvaluator();
var result = evaluator.evaluate("//div[@id='header']/div[4]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
result.setAttribute("style", "background: red; outline: blue solid thick;");
evaluate()
不返回可由 setAttribute()
函数使用的对象。
我读过https://developer.mozilla.org/en-US/docs/Using_XPath 。
如何获取可以使用 setAttribute() 的正确对象?
最佳答案
您可以在元素节点上使用setAttribute
。 evaluate
方法不会返回元素节点或节点列表,而是为您提供 XPathResult目的。所以你想要
var div = document.evaluate("//div[@id='header']/div[4]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (div !== null) {
div.setAttribute("attribute-name", "attribute-value");
}
关于javascript - 在 XPathEvaluator 的对象上使用 setAttribute(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844638/