XPathEvaluator: createExpression() 方法
此方法编译一个 XPathExpression
,该表达式可用于对 XPath 表达式进行(重复)评估。
语法
js
createExpression(expression)
createExpression(expression, resolver)
参数
expression
-
表示要创建的 XPath 表达式的字符串。
resolver
可选-
一个
Node
、null
或任何实现了lookupNamespaceURI
方法的对象。允许将 XPath 表达式中的所有前缀(包括xml
命名空间前缀)转换为相应的命名空间 URI。
返回值
一个 XPathExpression
,表示 XPath 表达式的编译形式。
异常
INVALID_EXPRESSION_ERR
如果表达式不符合 XPathEvaluator
规则,则会引发类型为 INVALID_EXPRESSION_ERR
的 XPathException
。
NAMESPACE_ERR
如果表达式包含无法通过指定的 XPathNSResolver
解析的命名空间前缀,则会引发类型为 NAMESPACE_ERROR
的 DOMException
。
示例
以下示例演示了 evaluate()
方法的使用。
HTML
html
<div>XPath example</div>
<div>Number of <div>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 的浏览器中加载。