Spec-Zone.ru › Web APIs

XPathExpression: метод evaluate()

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод evaluate() интерфейса XPathExpression выполняет выражение XPath на заданном узле или документе и возвращает XPathResult.

Синтаксис

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

Параметры

contextNode

Объект Node, представляющий контекст для оценки выражения.

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 &lt;div&gt;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;

Результат

Спецификации

Спецификация
DOM
# dom-xpathexpression-evaluate

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for 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/XPathExpression/evaluate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API