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 zum Auswerten des Ausdrucks verwendet wird.

type Optional

Bestimmt den Typ des Ergebnisses, das bei der Auswertung des Ausdrucks zurückgegeben wird. Dies muss einer der XPathResult.Constants sein.

result Optional

Erlaubt das Angeben eines Ergebnisobjekts, das wiederverwendet und von dieser Methode zurückgegeben werden kann. Wenn dies als null angegeben ist 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 zulässig ist, wird ein DOMException vom Typ INVALID_EXPRESSION_ERR ausgelöst.

TYPE_ERR

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

NAMESPACE_ERR

Wenn der Ausdruck Namensraum-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 ein DOMException vom Typ WRONG_DOCUMENT_ERR ausgelöst.

NOT_SUPPORTED_ERR

Wenn der bereitgestellte Kontextknoten kein zulässiger XPath-Kontextknotentyp ist oder der Anforderungstyp nicht vom XPathEvaluator erlaubt ist, wird ein 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
# dom-xpathexpression-evaluate

Browser-Kompatibilität