IE8中的jQuery XML解析

我有一些我在jQuery中解析的XML。

  Aeon 18   Alfa Romeo 120   

在除IE(特别是IE8)之外的所有浏览器中,以下工作:

 $.ajax({ type : "GET", async : false, url : "/services/vehiclemake", success : function(xmlResponse) { var data = $("payload", xmlResponse).children("value").map(function() { //IE8 fails on the next line var code = $(this).children("value [key='code']").text(); var desc = $(this).children("value [key='description']").text(); return { value : desc, vehicleCode : code, label : desc }; }).get(); } }); 

在IE8中,它对“代码”赋值失败说:“TypeError:Object不支持此属性或方法”。

如果我使用这种方法,那很好:

 $.ajax({ type : "GET", async : false, url : "/services/vehiclemake", success : function(xmlResponse) { var data = $("payload", xmlResponse).children("value").map(function() { var code; var desc; var elements = $(this).children(); for (i = 0; i < elements.length; i++) { if(elements[i].attributes.getNamedItem("key").value == 'code') { code = elements[i].text; } if(elements[i].attributes.getNamedItem("key").value == 'description') { desc = elements[i].text; } } var desc = $(this).children("value [key='description']").text(); return { value : desc, vehicleCode : code, label : desc }; }).get(); 

任何人都可以告诉我为什么标准的jQuery属性选择器在IE8中不起作用? 使用正确的mime类型返回XML。

谢谢。

我不认为你想要一个空间:

 .children("value[key='code']") 

可能无法解决,但我认为无论如何都需要修复。