$(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 。