This method compiles an XPathExpression which can then be used for (repeated) evaluations.


xpathExpr = document.createExpression(xpathText, namespaceURLMapper);


let xpathExpr = document.createExpression('//div');
let xpathResult = xpathExpr.evaluate(document); // returns an XPathResult object
let nodeContext = document.getElementsBytagName('nav')[0];
// Re-using the XPathExpression "xpathExpr"
let otherResult = xpathExpr.evaluate(nodeContext); // returns an XPathResult object


  • xpathText is a string which is the XPath expression to be compiled.
  • namespaceURLMapper is a function which maps a namespace prefix to a namespace URL (or null if none needed).

Firefox 3 note: Prior to Firefox 3, you could call this method on documents other than the one you planned to run the XPath against. Under Firefox 3, you must call it on the same document.

Return value


Browser compatibility

BCD tables only load in the browser

See also