XPathEvaluator:evaluate() 方法
XPathEvaluator 介面的 evaluate() 方法會在給定的節點或文件上執行 XPath 表示式,並返回一個 XPathResult。
語法
evaluate(expression, contextNode)
evaluate(expression, contextNode, resolver)
evaluate(expression, contextNode, resolver, type)
evaluate(expression, contextNode, resolver, type, result)
引數
表示式-
一個表示要解析和評估的 XPath 表示式的字串。
contextNode-
一個表示用於評估表示式的上下文的
Node。 resolver可選-
一個
Node、null或任何實現了lookupNamespaceURI方法的物件。允許將 XPath 表示式中的所有字首(包括xml名稱空間字首)轉換為適當的名稱空間 URI。 type可選-
指定透過評估表示式返回的結果的型別。這必須是
XPathResult.Constants之一。 result可選-
允許指定一個可能被此方法重用並返回的結果物件。如果指定為
null或實現不重用指定的結果,則將返回一個新的結果物件。
返回值
一個表示 XPath 表示式評估結果的 XPathResult 物件。
異常
INVALID_EXPRESSION_ERR
如果表示式根據 XPathEvaluator 的規則不是合法的,則會引發一個型別為 INVALID_EXPRESSION_ERR 的 DOMException。
TYPE_ERR
如果結果無法轉換為指定的型別,則會引發一個型別為 TYPE_ERR 的 DOMException。
NAMESPACE_ERR
如果表示式包含由指定的 XPathNSResolver 無法解析的名稱空間字首,則會引發一個型別為 NAMESPACE_ERROR 的 DOMException。
WRONG_DOCUMENT_ERR
如果提供的上下文節點來自 XPathEvaluator 不支援的文件,則會引發一個型別為 WRONG_DOCUMENT_ERR 的 DOMException。
NOT_SUPPORTED_ERR
如果提供的上下文節點不是允許作為 XPath 上下文節點的型別,或者請求的型別不是 XPathEvaluator 允許的,則會引發一個型別為 NOT_SUPPORTED_ERR 的 DOMException。
示例
以下示例顯示了 evaluate() 方法的用法。
HTML
<div>XPath example</div>
<div>Number of <div>s: <output></output></div>
JavaScript
const evaluator = new XPathEvaluator();
const result = evaluator.evaluate(
"//div",
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
結果
規範
| 規範 |
|---|
| DOM # dom-xpathevaluatorbase-evaluate |
瀏覽器相容性
載入中…