This question already has answers here:
How to use jQuery for XML parsing with namespaces
                            
                                (20个答案)
                            
                    
                3年前关闭。
        

    

我试图从AJAX调用中找到XML响应中的元素,但是我发现标签名称有点奇怪。这些标签导致我的选择器出现问题。

我正在寻找的XML元素特别是<d:Department>。在Chrome中使用jQuery,我可以使用$(xml).find('Department')找到该元素。 jQuery在IE中找不到元素。

使用JavaScript,我可以使用xml.getElementsByTagName('Department')在Chrome中获取该元素。在IE中,我必须使用xml.getElementsByTagName('d:Department')

有没有一种方法可以在使用JavaScript或jQuery的两个浏览器中获取此元素,而无需查找两个标记名?

最佳答案

jQuery:

您正在使用哪个版本的jQuery?

请注意当前的IE支持:


jQuery 1.x Internet Explorer 6以上版本
jQuery 2.x Internet Explorer 9+


尝试像这样在find方法中包括名称空间:

$(xml).find('d\\:Department');


jQuery XML parsing with namespaces中对此进行了说明

Javascript:

尝试像这样使用getElementsByTagNameNS():

xml.getElementsByTagNameNS("d", "Department");


参见:http://www.w3schools.com/xml/met_document_getelementsbytagnamens.asp

希望这可以帮助!

09-30 17:02
查看更多