IE8中的jQuery XML解析 [英] jQuery XML parsing in IE8
本文介绍了IE8中的jQuery XML解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一些要在jQuery中解析的XML.
I have some XML that I am parsing in jQuery.
<payload>
<value key="VehicleMake">
<value key="description">Aeon</value>
<value key="code">18</value>
</value>
<value key="VehicleMake">
<value key="description">Alfa Romeo</value>
<value key="code">120</value>
</value>
</payload>
在除IE(特别是IE8)以外的所有浏览器中,以下工作正常:
In all browsers except IE (specifically IE8) the following works:
$.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:对象不支持此属性或方法".
In IE8 it fails on the assignment to 'code' saying : "TypeError: Object doesn't support this property or method".
如果我使用这种方法,那很好:
If I use this approach then it is fine:
$.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中不起作用?返回的XML具有正确的mime类型.
Can anyone tell me why the standard jQuery attribute selectors are not working in IE8? The XML is being returned with the correct mime type.
谢谢.
推荐答案
我不认为您要在此处留空格:
I don't think you want a space here:
.children("value[key='code']")
可能无法解决,但我认为仍然需要修复.
Might not solve it but I think that needs fixing anyway.
这篇关于IE8中的jQuery XML解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文