javascript - 在 XPathEvaluator 的对象上使用 setAttribute()

标签 javascript css firefox xpath

我在 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() 的正确对象?

最佳答案

您可以在元素节点上使用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");
}

关于javascript - 在 XPathEvaluator 的对象上使用 setAttribute(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844638/

相关文章:

firefox - CSS3 过渡/悬停效果在 Firefox 中不起作用; Firefox 错误?

javascript - Angular : Content of a disabled input

javascript - Mongoose :你如何取消人口?

javascript - 如何将 if/else 语句定向到另一个页面?

html - 图片右下角怎么对齐

css - SVG 符号未在 Firefox 中显示

php - 解析 PHP 的基本文本输出

php - 如何在 wordpress 导航中不影响子项的情况下突出显示处于事件状态的父项?

css - Bootstrap 3 - 背景颜色问题

javascript - firefox 高内存 (RAM) 使用率,如何使用 javascript 释放?