XPathEvaluator: метод evaluate()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод evaluate() интерфейса XPathEvaluator выполняет выражение XPath на заданном узле или документе и возвращает XPathResult.
Синтаксис
evaluate(expression, contextNode) evaluate(expression, contextNode, resolver) evaluate(expression, contextNode, resolver, type) evaluate(expression, contextNode, resolver, type, result)
Параметры
expression-
Строка, представляющая выражение XPath, которое необходимо разобрать и оценить.
contextNode-
Node, представляющий контекст для оценки выражения. resolverНеобязательно-
Node,null, или любой объект, реализующий методlookupNamespaceURI. Позволяет перевести все префиксы, включая префикс пространства именxml, в выражении XPath в соответствующие URI пространств имен. typeНеобязательно-
Определяет тип результата, который будет возвращён при оценке выражения. Должен быть одним из
XPathResult.Constants. resultНеобязательно-
Позволяет указать объект результата, который можно повторно использовать и вернуть этим методом. Если это указано как
nullили реализация не использует указанный результат, будет возвращён новый объект результата.
Возвращаемое значение
Объект XPathResult, представляющий результат оценки выражения XPath.
Исключения
INVALID_EXPRESSION_ERR
Если выражение не соответствует правилам XPathEvaluator, возникает исключение XPathException типа INVALID_EXPRESSION_ERR.
TYPE_ERR
В случае, если результат не может быть преобразован в указанный тип, возникает исключение XPathException типа TYPE_ERR.
NAMESPACE_ERR
Если выражение содержит префиксы пространств имён, которые не могут быть разрешены указанным XPathNSResolver, возникает исключение DOMException типа NAMESPACE_ERROR.
WRONG_DOCUMENT_ERR
Если предоставленный узел контекста принадлежит документу, который не поддерживается XPathEvaluator, возникает исключение DOMException типа WRONG_DOCUMENT_ERR.
NOT_SUPPORTED_ERR
Если предоставленный узел контекста не является допустимым типом узла контекста XPath или тип запроса не разрешен XPathEvaluator, возникает исключение DOMException типа NOT_SUPPORTED_ERR.
Примеры
В следующем примере показано использование метода evaluate().
HTML
<div>XPath example</div> <div>Number of <div>s: <output></output></div>
JavaScript
const evaluator = new XPathEvaluator();
const result = evaluator.evaluate(
"//div",
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
Результат
Спецификации
| Спецификация |
|---|
| DOM # dom-xpathevaluatorbase-evaluate |
Совместимость браузеров
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
evaluate |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XPathEvaluator/evaluate