This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information its DOM tree. This is useful when an expression will be reused in an application, because it is just compiled once and all namespace prefixes which occur within the expression are preresolved.
Objects of this type are created by calling XPathEvaluator.createExpression().
Methods
XPathExpression.evaluate()- Evaluates the XPath expression on the given node or document.
Example
The following example shows the use of the XPathExpression interface.
HTML
<div>XPath example</div> <div>Number of <div>s: <output></output></div>
JavaScript
var xpath = "//div";
var evaluator = new XPathEvaluator();
var expression = evaluator.createExpression("//div");
var result = expression.evaluate(document, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE);
document.querySelector("output").textContent = result.snapshotLength;
Result
Specifications
| Specification | Status | Comment |
|---|---|---|
| Document Object Model (DOM) Level 3 XPath Specification The definition of 'XPathExpression' in that specification. |
Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
XPathExpression | Chrome Full support Yes | Edge ? | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android ? | Chrome Android Full support Yes | Edge Mobile ? | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
evaluate | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android ? | Chrome Android Full support Yes | Edge Mobile ? | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
See also
Document Tags and Contributors
Tags:
Contributors to this page:
mdnwebdocs-bot,
Sebastianz,
ExE-Boss,
fscholz,
Jeremie,
BlindWanderer,
Brettz9
Last updated by:
mdnwebdocs-bot,

