Javascript 无法使用XMLdom中的querySelectorAll在ie中显示js脚本

Javascript 无法使用XMLdom中的querySelectorAll在ie中显示js脚本,javascript,internet-explorer,Javascript,Internet Explorer,所以我一直在到处搜索,尝试了一切,但我的脚本仍然没有显示在IE中!!任何版本!它在FF和Chrome中显示得非常漂亮,但是ie,AAAAA RGH!!我将doctype更改为,在头部添加了标签,检查我的浏览器是否处于怪癖模式或兼容模式,只是在标准模式下运行,删除了我的cookie、历史记录并重置了我的ie设置,检查了我的安全设置,但仍然什么都没有!我还缺什么?我正在寻找那个“缺失的链接”,它将最终在ie中显示我的脚本。任何想法或帮助都将不胜感激。 情境:我使用html模板来显示XML文件,并使用

所以我一直在到处搜索,尝试了一切,但我的脚本仍然没有显示在IE中!!任何版本!它在FF和Chrome中显示得非常漂亮,但是ie,AAAAA RGH!!我将doctype更改为
,在头部添加了
标签,检查我的浏览器是否处于怪癖模式或兼容模式,只是在标准模式下运行,删除了我的cookie、历史记录并重置了我的ie设置,检查了我的安全设置,但仍然什么都没有!我还缺什么?我正在寻找那个“缺失的链接”,它将最终在ie中显示我的脚本。任何想法或帮助都将不胜感激。 情境:我使用html模板来显示XML文件,并使用js

JS:

var xmlhttp,xmlDoc,y var xmlhttp=new XMLHttpRequest(); if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest();//IE7+、Firefox、Chrome、Opera、Safari的代码 } else if(window.ActiveXObject) { xmlhttp=newActiveXObject(“Microsoft.xmlhttp”);//IE6、IE5的代码 } open(“GET”,“/localfile/xmlfilename.xml”,false); xmlhttp.send(); var xmlDoc=xmlhttp.responseXML; 变量y=xmlDoc.querySelectorAll(“.class1.class2”); document.write(“”;
对于(i=0;主线程上的iSynchronous XMLHttpRequest已被弃用,因为它会对最终用户的体验产生有害影响。有关更多帮助,请查看http://xhr.spec.whatwg.org/在FF和Chrome中都有,在ie中没有错误。我知道JQuery有一些很酷的方法,但我更愿意使用js来显示我的内容。很抱歉让你失望但是我做错了什么呢?

首先,试着用jQuery做ajax的事情。
如果它起作用,你就会知道问题出在ajax代码上…

在重新检查我的ajax之后,当我读到一篇关于XMLDocument对象的文章时,我正在为GetElementsByCassName和querySelectorAll寻找另一种方法:&读到ie都不支持这两种方法第三次,但使用jQuery。ie的错误控制台一直告诉我querySelectorAll方法不受支持,这是有道理的。感谢Guillerme的帮助。

终于找到了答案!!当我加载整个xml文档时,我的ajax工作得很好。但是,当我添加参数进行筛选时,只显示带有特定类而不是整个文档,
getElementsbyClassName
querySelectorAll
在ie中不起作用,后来读到ie n-e版本也不支持这两个类:。我花了很长时间研究了新的解决方案,以及js中的所有内容。我听取了您的建议,使用jquery上传我的文档,并开始使用参数和方法仅显示具有特定类的节点,并且跨浏览器兼容。如果有人需要,请执行以下操作:

jquery代码

<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
</head>
        <body>
        <ul id="feed"></ul>
        <script>
        $.ajax({
            type:       'GET',
            url:        '/file/rssfeed.xml',
            dataType:   'xml',
            success:    function(xml){
                $(xml).find("item.class1, item.class2").each(function(){            
                var title = $(this).find('title').text();
                var date = $(this).find('pubDate').text();
                var description = $(this).find('description').text();
                $('#feed').append('<li><strong>'+title+'</strong><br>'+date+'<br>'+description+'</li>');            
                });     
                }
            });
        </script>
    </body>

    $.ajax({ 键入:“GET”, url:“/file/rssfeed.xml”, 数据类型:“xml”, 成功:函数(xml){ $(xml).find(“item.class1,item.class2”).each(function(){ var title=$(this.find('title').text(); var date=$(this.find('pubDate').text(); var description=$(this.find('description').text(); $(“#提要”)。追加(“
  • ”+标题+”
    “+日期+”
    “+说明+”
  • ); }); } });
    我在html中添加了一个带有
    id=“feed”
    ul
    标记,每个帖子都有
    li
    s标记。最初,我使用js上传xml文档并显示html模板中的所有节点,但不得不使用jquery过滤并仅显示具有单独类的xml节点(
    item.class1,item.class2
    )。没有参数的原始js/ajax脚本是跨浏览器兼容的,我现在使用的jquery脚本在Chrome、FF&IE中过滤和显示!!耶!!接受IE

    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">
    
      <channel>
    
        <item class="class1">
        <title>Update's Title</title>
        <pubDate>28 Oct 2015</pubDate>
        <description><![CDATA[Whatever the update is with some <a href="/link/file.htm">links</a>.]]></description>
        </item>
    
        <item class="class2">
          <title>Another Update Title</title>
          <pubDate>1 Oct 2015</pubDate>            
          <description><![CDATA[Some more <a href="/link/file2.htm#anchor">html tags</a> in the !cdata.]]></description>
        </item>
    </channel>
    
    </rss>
    
    <head>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
    </head>
            <body>
            <ul id="feed"></ul>
            <script>
            $.ajax({
                type:       'GET',
                url:        '/file/rssfeed.xml',
                dataType:   'xml',
                success:    function(xml){
                    $(xml).find("item.class1, item.class2").each(function(){            
                    var title = $(this).find('title').text();
                    var date = $(this).find('pubDate').text();
                    var description = $(this).find('description').text();
                    $('#feed').append('<li><strong>'+title+'</strong><br>'+date+'<br>'+description+'</li>');            
                    });     
                    }
                });
            </script>
        </body>