$ .get代码在IE中不起作用(JQuery)

时间:2010-06-22 16:46:52

标签: javascript jquery xml

我有这个代码,在mouseenter上加载XML文档,可以在Firefox中运行:

$(document).ready(function() {
         $('.invest-port-thumb a').mouseenter(function() {

              $.get(this.href, function(response){

                var cName = $(response).find("fragment cName");
                var cind = $(response).find("fragment cName").attr("cind");

                $('#slider-name .slider-copy').html(cName);
                $('#slider-indu .slider-copy').html(cind);
              });


         });
});

和OF COURSE它在IE中无法正常工作。事实上,没有任何负载。

示例XML文档:

<fragment>
    <cName cind="Industrial" stat="Active">ABC Company</cName>  
    <hq>Chicago, IL</hq>
</fragment>

当我删除此行时,我发现了一些奇怪的内容:

var cName = $(response).find("fragment cName");

它运作正常。出于某种原因,我可以获得XML节点的属性,但不能获得实际的节点?任何帮助将不胜感激......

2 个答案:

答案 0 :(得分:1)

jQuery should not be used to parse XML

相反,您应指定dataType的{​​{1}}以告知浏览器解析XML,方法是在回调后添加XmlHttpRequest
然后, 'xml'将是一个XML DOM树,您可以使用jQuery遍历它。

例如:

response

答案 1 :(得分:1)

您确定的行:

var cName = $(response).find("fragment cName");

将jQuery对象分配给变量cName,而不是它看起来像你想要的文本内容。尝试将其更改为

var cName = $(response).find("fragment cName").text();