XPathEvaluator: createExpression() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

此方法用於編譯一個 XPathExpression 物件,該物件隨後可用於(重複)評估 XPath 表示式。

語法

js
createExpression(expression)
createExpression(expression, resolver)

引數

表示式

表示要建立的 XPath 表示式的字串。

resolver 可選

一個 Node 物件、null,或者任何實現了 lookupNamespaceURI 方法的物件。它允許在 XPath 表示式中將所有字首(包括 xml 名稱空間字首)轉換為相應的名稱空間 URI。

返回值

一個 XPathExpression 物件,表示 XPath 表示式的編譯形式。

異常

INVALID_EXPRESSION_ERR

如果表示式不符合 XPathEvaluator 的規則,則會丟擲型別為 INVALID_EXPRESSION_ERRDOMException

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

瀏覽器相容性

另見