jquery 在IE浏览器中无法使用find()或children()遍历xml数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 在IE浏览器中无法使用find()或children()遍历xml数据相关的知识,希望对你有一定的参考价值。

jsp页面,用jstl从后台读出来的xml数据,例如:
<div id="xml_contain">
<xml>
<sd_base></sd_base>
<sd_attr></sd_attr>
<sd_item></sd_item>
</xml>
</div>
js:
$("#xml_contain").find("xml").find(*).size()→在谷歌,火狐浏览器中返回3,在IE中返回0.
急!!!!!!!!!!!!!!
求助各位大侠解决方案,感激涕零!!!!!!

参考技术A find在ie6,7下有些问题,如果你想支持的话 可以试试用filter替换find
(记得给分)本回答被提问者采纳

关于jquery的$ajax不兼容ie的问题

 在做项目的过程中,经常碰到ie的不兼容问题,目前大部分问题主要集中在ie8、ie9这两款浏览器上。
     最近碰到的问题就是jquery的$.ajax方法不兼容ie9的问题。网上的方法是用jsonp或者cors跨域的方法来解决。
    首先 jsonp只能使用get请求,无法使用post请求,而cors跨域也只能解决部分问题。我尝试了几种方法都不行。最后使用XDomainRequest解决了问题。代码中应当引入   :
    <script src="js/jquery-1.9.1.min.js"></script>
    <script src="js/jquery.xdomainrequest.min.js"></script>
xdomainrequest这个js文件可以从github上下载。下载地址:
    https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
    还有一个问题,引入之后,
        $.ajax({
    type: ‘post‘,
    url: pubUrl + ‘/menu/0‘,
    dataType: ‘json‘,
    async: true,
    success: function(data){
        $.each(data,function(i,v){
            var html = ‘<li><a href="‘+v.url+‘" id="‘+v.id+‘">‘+v.name+‘</a></li>‘;
            $(‘.nav-list ul‘).append(html)
        })
    },
    error: function(err){
        console.log(err)
    }
});
async要改成异步true,而不是同步,否则还是无法显示。

以上是关于jquery 在IE浏览器中无法使用find()或children()遍历xml数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Javascript 或 jQuery 在 IE8,9 中获取上传文件的大小?

form的jquery对象调用find方法找不到任何子元素

IE8 DOM 转换 XML 并从 jQuery find() 或 filter() 不返回任何内容

“对象不支持IE中的属性或方法'find'”

IE在JQuery淡入淡出/不透明动画中扭曲文本

IE中的jquery,fancybox