您可以使用
document.evaluate:
它是W3标准化的,并且完整记录在案:https : //developer.mozilla.org/zh-
CN/docs/Web/API/document.evaluate
function getElementByXpath(path) { return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodevalue;}console.log( getElementByXpath("//html[1]/body[1]/div[1]") );<div>foo</div>
https://gist.github.com/yckart/6351935
Mozilla开发人员网络上也有出色的介绍:https :
//developer.mozilla.org/en-
US/docs/Introduction_to_using_XPath_in_Javascript#document.evaluate
备用版本,使用
XPathevaluator:
function getElementByXPath(xpath) { return new XPathevaluator() .createexpression(xpath) .evaluate(document, XPathResult.FIRST_ORDERED_NODE_TYPE) .singleNodevalue}console.log( getElementByXPath("//html[1]/body[1]/div[1]") );<div>foo/bar</div>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)