大神们,怎样用js获取html的xpath

JavaScript019

大神们,怎样用js获取html的xpath,第1张

用jQuery写的,当鼠标点击一个元素时,显示元素的xpath路径

$(document).ready(function () {

var xpath = '', o

$('*').click(function (e) {

e.stopPropagation()//停止冒泡

o = this

alert(readXPath(o))

})

})

IE的版本是多少

用Ajax请求返回的xml , 一般浏览器都能用

responseXML.documentElement.selectNodes("XXX")

去检索需要的节点,但是IE升级到10之后,突然报错 :

该对象不支持selectNodes()属性或者方法!

郁闷了挺长时间,试了很多方法都不行。我发现技术菜的时候,网上搜索信息的能力也很差,网上找了好久方法,终于在高手的帮助下解决了。

发送Ajax请求之前,加一句:

xmlHttp.open(....)

try{

xmlHttp.responseType("msxml-document")

}catch(e){

}

xmlHttp.send(null)

问题解决,可以正常使用 selectNodes()方法了,selectSingleNode()方法应该也可以使用了!

原来selectNodes()方法是依赖于 msxml 的,在IE8,9的时候,浏览器处理了返回的XML格式的doucment , 使之变为 msxml-document ,正常使用 selectNode() 方法没有问题。但是IE10去掉了这一处理,返回原生的 XML , 所以需要我们自己手动设置成 msxml 。