XPathEvaluator: createExpression() 方法

此方法编译一个 XPathExpression,该表达式可用于对 XPath 表达式进行(重复)评估。

语法

js
createExpression(expression)
createExpression(expression, resolver)

参数

expression

表示要创建的 XPath 表达式的字符串。

resolver 可选

一个 Nodenull 或任何实现了 lookupNamespaceURI 方法的对象。允许将 XPath 表达式中的所有前缀(包括 xml 命名空间前缀)转换为相应的命名空间 URI。

返回值

一个 XPathExpression,表示 XPath 表达式的编译形式。

异常

INVALID_EXPRESSION_ERR

如果表达式不符合 XPathEvaluator 规则,则会引发类型为 INVALID_EXPRESSION_ERRXPathException

NAMESPACE_ERR

如果表达式包含无法通过指定的 XPathNSResolver 解析的命名空间前缀,则会引发类型为 NAMESPACE_ERRORDOMException

示例

以下示例演示了 evaluate() 方法的使用。

HTML

html
<div>XPath example</div>
<div>Number of &lt;div&gt;s: <output></output></div>

JavaScript

js
const xpath = "//div";
const evaluator = new XPathEvaluator();
const expression = evaluator.createExpression(xpath);
const result = expression.evaluate(
  document,
  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;

结果

规范

规范
DOM 标准
# dom-xpathevaluatorbase-createexpression

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅