我在evaluate()
对象上使用XPathEvaluator()
函数遇到一些麻烦。
我的代码如下:
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/