好的,所以我可以用jQuery解析XML,但它似乎只在Firefox中工作,而不是IE。
我的XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<Answers>
<Question>
<question-title>Question One - Title</question-title>
<a>24</a>
<b>36</b>
<c>10</c>
<d>30</d>
</Question>
</Answers>
解析XML的代码:
var xmlType = 'xml';
if ($.browser.msie) {
xmlType = 'text/xml'
}
$.ajax({
type: "GET",
url: "answers.xml",
dataType: xmlType,
success: function(xml) { //if the XML exists
$(xml).find('Answers').each(function(){ //go inside answers
$(this).find('Question').each(function(){ //for each question...
var moo = $(this).find('question-title').text();
$('.question-title').append(moo); //append the question title
var a = $(this).find('a').text();
var b = $(this).find('b').text();
var c = $(this).find('c').text();
var d = $(this).find('d').text();
$('.label1').html(a+'%');
$('.label2').html(b+'%');
$('.label3').html(c+'%');
$('.label4').html(d+'%');
$('.input1').val(a);
$('.input2').val(b);
$('.input3').val(c);
$('.input4').val(d);
$('.cu-mid','.cuboid.'+'green1').animate({
height: a
}, 550);
$('.cu-mid','.cuboid.'+'green2').animate({
height: b
}, 550);
$('.cu-mid','.cuboid.'+'green3').animate({
height: c
}, 550);
$('.cu-mid','.cuboid.'+'green4').animate({
height: d
}, 550, function() {
$('.cu-mid').animate({
height: '+='+50
}, 550);
});
});
});
}
});
FireFox中的输出是所需元素的正确高度。但在IE -没什么...什么都没有
一开始我以为这可能是dataType
,所以我添加了一个if
语句。那也没用
有什么想法吗
干杯
edit:我在IE中得到以下错误:
无效参数行66 -结束括号在:$(xml).find('Answers').each(function(){
对象需要行1 -???
2条答案
按热度按时间i7uq4tfw1#
没关系,我想明白了:
soat7uwm2#
在不同的Internet Explorer版本中,获取
xmlHttpRequest
对象的最佳方式有所不同。请参阅有关XMLHttpRequest Object的MSDN注解