XPathExpression: evaluate() Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
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
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)
Parameter
contextNode-
Ein
Node, der den Kontext darstellt, der zur Auswertung des Ausdrucks verwendet wird. typeOptional-
Gibt den Typ des Ergebnisses an, das durch die Auswertung des Ausdrucks zurückgegeben werden soll. Dies muss einer der
XPathResult.Constantssein. resultOptional-
Ermöglicht es Ihnen, ein Ergebnisobjekt zu spezifizieren, das möglicherweise wiederverwendet und von dieser Methode zurückgegeben wird. Wenn dies als
nullangegeben 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 darstellt.
Ausnahmen
INVALID_EXPRESSION_ERR
Wenn der Ausdruck nicht legal nach den Regeln des XPathEvaluator 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 nicht vom angegebenen XPathNSResolver aufgelöst werden können, wird ein DOMException vom Typ NAMESPACE_ERROR ausgelöst.
WRONG_DOCUMENT_ERR
Wenn der bereitgestellte Kontextknoten von 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 nicht ein zulässiger Typ als XPath-Kontextknoten ist oder der Anforderungstyp vom XPathEvaluator nicht zugelassen ist, wird ein DOMException vom Typ NOT_SUPPORTED_ERR ausgelöst.
Beispiele
Das folgende Beispiel zeigt die Verwendung der evaluate()-Methode.
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;
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| DOM> # dom-xpathexpression-evaluate> |