XPathEvaluator: метод createExpression()
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Этот метод компилирует XPathExpression, который затем можно использовать для (повторной) оценки выражения XPath.
Синтаксис
createExpression(expression) createExpression(expression, resolver)
Параметры
expression-
Строка, представляющая выражение XPath, которое требуется создать.
resolverНеобязательно-
Объект
Node,null, или любой объект, реализующий методlookupNamespaceURI. Разрешает перевод всех префиксов, включая префикс пространства имёнxml, в выражении XPath в соответствующие URI пространств имён.
Возвращаемое значение
Объект XPathExpression, представляющий скомпилированную форму выражения XPath.
Исключения
INVALID_EXPRESSION_ERR
Если выражение не соответствует правилам XPathEvaluator, будет вызвано исключение XPathException типа INVALID_EXPRESSION_ERR.
NAMESPACE_ERR
Если выражение содержит префиксы пространства имён, которые не могут быть разрешены указанным XPathNSResolver, будет вызвано исключение DOMException типа NAMESPACE_ERROR.
Примеры
Следующий пример демонстрирует использование метода evaluate().
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(xpath);
const result = expression.evaluate(
document,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
Результат
Спецификации
| Спецификация |
|---|
| DOM # dom-xpathevaluatorbase-createexpression |
Совместимость с браузерами
| Десктопные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
createExpression |
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/createExpression