XPathExpression: evaluate() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
evaluate() は XPathExpression インターフェイスのメソッドで、指定されたノードまたは文書に対して XPath 式を実行し、XPathResult を返します。
構文
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)
引数
contextNode-
式を評価するために使用するコンテキストを表す
Nodeです。 type省略可-
式を評価して返す結果の型を指定します。これは
XPathResult.定数のいずれかでなければなりません。 result省略可-
このメソッドが再利用して返す結果オブジェクトを指定することができます。
nullを指定した場合や、実装が指定した結果を再利用しない場合は、新しい結果オブジェクトを返します。
返値
XPath 式の評価結果を表す XPathResult オブジェクト。
例外
INVALID_EXPRESSION_ERR
式が XPathEvaluator の規則に従っていなかった場合、 `INVALID_EXPRESSION_ERR`` 型の XPathException が発生します。
TYPE_ERR
結果を指定した型に変換できなかた場合、 TYPE_ERR 型の XPathException が発生します。
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 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;
結果
仕様書
| Specification |
|---|
| DOM> # dom-xpathexpression-evaluate> |
ブラウザーの互換性
Loading…