This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information from 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(xpath); 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.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
XPathExpression | Chrome Full support Yes | Edge Full support ≤18 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | 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 Full support Yes | Chrome Android Full support Yes | 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