XPathExpression: evaluate()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die evaluate()-Methode der XPathExpression-Schnittstelle führt einen XPath-Ausdruck auf dem angegebenen Knoten oder Dokument aus und gibt ein XPathResult zurück.

Syntax

js
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)

Parameter

contextNode

Ein Node, der den Kontext repräsentiert, der zur Auswertung des Ausdrucks verwendet werden soll.

type Optional

Gibt den Typ des Ergebnisses an, das durch die Auswertung des Ausdrucks zurückgegeben werden soll. Dies muss einer der XPathResult.Constants sein.

result Optional

Ermöglicht die Angabe eines Ergebnisobjekts, das wiederverwendet und von dieser Methode zurückgegeben werden kann. Wenn es als null angegeben wird oder die Implementierung das angegebene Ergebnis nicht wiederverwendet, wird ein neues Ergebnisobjekt zurückgegeben.

Rückgabewert

Ein XPathResult-Objekt, das das Ergebnis der Auswertung des XPath-Ausdrucks repräsentiert.

Ausnahmen

INVALID_EXPRESSION_ERR

Wenn der Ausdruck gemäß den Regeln des XPathEvaluator nicht legal ist, wird eine XPathException vom Typ INVALID_EXPRESSION_ERR ausgelöst.

TYPE_ERR

Falls das Ergebnis nicht in den angegebenen Typ konvertiert werden kann, wird eine XPathException vom Typ TYPE_ERR ausgelöst.

NAMESPACE_ERR

Wenn der Ausdruck Namespace-Präfixe enthält, die vom angegebenen XPathNSResolver nicht aufgelöst werden können, wird ein DOMException vom Typ NAMESPACE_ERROR ausgelöst.

WRONG_DOCUMENT_ERR

Wenn der bereitgestellte Kontextknoten aus einem Dokument stammt, das vom XPathEvaluator nicht unterstützt wird, wird eine DOMException vom Typ WRONG_DOCUMENT_ERR ausgelöst.

NOT_SUPPORTED_ERR

Wenn der bereitgestellte Kontextknoten nicht als XPath-Kontextknoten zulässig ist oder der Anforderungstyp vom XPathEvaluator nicht unterstützt wird, wird eine DOMException vom Typ NOT_SUPPORTED_ERR ausgelöst.

Beispiele

Das folgende Beispiel zeigt die Verwendung der evaluate()-Methode.

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("//div");
const result = expression.evaluate(
  document,
  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;

Ergebnis

Spezifikationen

Specification
DOM Standard
# dom-xpathexpression-evaluate

Browser-Kompatibilität

BCD tables only load in the browser