在XPathEvaluator的对象上使用setAttribute()

时间:2012-08-07 11:08:58

标签: javascript css firefox xpath

我在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()

1 个答案:

答案 0 :(得分:1)

您可以在元素节点上使用setAttributeevaluate方法不返回元素节点或节点列表,而是为您提供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");
}