Web/API/XPathExpression

From Get docs

This interface is a compiled XPath expression that can be evaluated on a document or specific node to return information from its [[../../../Glossary/DOM|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 &lt;div&gt;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 SpecificationThe definition of 'XPathExpression' in that specification. Recommendation Initial definition

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
XPathExpression Chrome

Full support Yes

Edge

Full support 12

Firefox

Full support Yes

IE

No support No

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

No support No

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
No support  
No support
Compatibility unknown  
Compatibility unknown


See also