XPathExpression: evaluate() 方法
XPathExpression 介面的 evaluate() 方法會在給定的節點或文件上執行 XPath 表示式,並返回一個 XPathResult。
語法
js
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)
引數
contextNode-
一個表示用於評估表示式的上下文的
Node。 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
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("//div");
const result = expression.evaluate(
document,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
結果
規範
| 規範 |
|---|
| DOM # dom-xpathexpression-evaluate |
瀏覽器相容性
載入中…