使用jQuery在表中显示XML在IE中不起作用
我使用$ .get运行XML文件&返回表中的值。使用jQuery在表中显示XML在IE中不起作用
它在Chrome/Firefox/Safari中正常工作,但只管理IE中的表格标题。
http://dl.dropbox.com/u/3755926/jQuery/jQuery_report.html
我一直在阅读有关的事情是如何被称为对IE重要性,而且它不能自动忽略其他浏览器一样的语法错误的命令,但我一直在看它太长&看不到问题。所以任何帮助,将不胜感激。
这是我在Codecademy以外的jQuery上的第一次尝试,所以我对IE修复程序有些遗憾&您将不得不原谅代码质量!
// File: report.js
function getXML() {
// Open the xml file
$.get("Default.ass", {}, function(xml) {
// Build an HTML string
myHTMLOutput = '';
myHTMLOutput += '<table border="1" cellpadding="0" cellspacing="0">';
myHTMLOutput += '<th colspan="2">Station</th><th>1st Left Turn</th><th>1st Right Turn</th><th>Look Up</th><th>Flare 1</th><th>Flare 2</th><th>Cut Away</th><th>Bergan Release</th><th>Turn Into Wind</th><th>Final Flare</th><th>Direction to Wind at 0ft</th><th>Distance From T</th><th>Entered Safe Zone</th>';
// Run the function for each student tag in the XML file
//$('AAR_Assessments',xml).each(function(i) {
$(xml).find("student").each(function(i) {
xml = $(this);
//console.log("Got XML Tag");
id = xml.attr("id");
name = xml.attr("name");
canopy = xml.attr("canopy");
status = xml.attr("status");
var LookUp = xml.find("LookUp"),
TurnLeft = xml.find("TurnLeft"),
TurnRight = xml.find("TurnRight"),
Flare1 = xml.find("Flare1"),
Flare2 = xml.find("Flare2"),
CutAway = xml.find("CutAway"),
Bergan = xml.find("Bergan"),
TurnWind = xml.find("TurnWind"),
Flare3 = xml.find("Flare3"),
HeadWindOffSet = xml.find("HeadWindOffSet"),
DistT = xml.find("DistT");
LookUpTime = LookUp.attr("Time");
LookUpAlt = LookUp.attr("Altitude");
LookUpRes = LookUp.attr("Result");
TurnLeftTime = TurnLeft.attr("Time");
TurnLeftAlt = TurnLeft.attr("Altitude");
TurnLeftRes = TurnLeft.attr("Result");
TurnRightTime = TurnRight.attr("Time");
TurnRightAlt = TurnRight.attr("Altitude");
TurnRightRes = TurnRight.attr("Result");
Flare1Time = Flare1.attr("Time");
Flare1Alt = Flare1.attr("Altitude");
Flare1Res = Flare1.attr("Result");
Flare1L = Flare1.attr("Left");
Flare1R = Flare1.attr("Right");
Flare2Time = Flare2.attr("Time");
Flare2Alt = Flare2.attr("Altitude");
Flare2Res = Flare2.attr("Result");
Flare2L = Flare2.attr("Left");
Flare2R = Flare2.attr("Right");
Flare2Error = Flare2.attr("Error");
CutAwayTime = CutAway.attr("Time");
CutAwayAlt = CutAway.attr("Altitude");
CutAwayRes = CutAway.attr("Result");
BerganTime = Bergan.attr("Time");
BerganAlt = Bergan.attr("Altitude");
BerganRes = Bergan.attr("Result");
TurnWindTime = TurnWind.attr("Time");
TurnWindAlt = TurnWind.attr("Altitude");
TurnWindRes = TurnWind.attr("Result");
Flare3Time = Flare3.attr("Time");
Flare3Alt = Flare3.attr("Altitude");
Flare3Res = Flare3.attr("Result");
Flare3L = Flare3.attr("Left");
Flare3R = Flare3.attr("Right");
Flare3Error = Flare3.attr("Error");
HeadWindOffSetDirection = HeadWindOffSet.attr("Direction");
DistTD = DistT.attr("Distance");
SafeZoneResult = xml.find("Safe").attr("Result");
SafeError = xml.find("Safe").attr("Error");
//console.log("Result: " + SafeZoneResult);
// Build row HTML data and store in string
mydata = BuildStudentHTML(id,name,canopy,status,LookUpTime,LookUpAlt,LookUpRes,TurnLeftTime,TurnLeftAlt,TurnLeftRes,TurnRightTime,TurnRightAlt,TurnRightRes,Flare1Time,Flare1Alt,Flare1Res,Flare1L,Flare1R,Flare2Time,Flare2Alt,Flare2Res,Flare2L,Flare2R,Flare2Error,CutAwayTime,CutAwayAlt,CutAwayRes,BerganTime,BerganAlt,BerganRes,TurnWindTime,TurnWindAlt,TurnWindRes,Flare3Time,Flare3Alt,Flare3Res,Flare3L,Flare3R,Flare3Error,HeadWindOffSetDirection,DistTD,SafeZoneResult,SafeError);
myHTMLOutput = myHTMLOutput + mydata;
});
myHTMLOutput += '</table>';
// Update the DIV called Content Area with the HTML string
//console.log(myHTMLOutput);
$("#ContentArea").append(myHTMLOutput);
});
}
function BuildStudentHTML(id,name,canopy,status,LookUpTime,LookUpAlt,LookUpRes,TurnLeftTime,TurnLeftAlt,TurnLeftRes,TurnRightTime,TurnRightAlt,TurnRightRes,Flare1Time,Flare1Alt,Flare1Res,Flare1L,Flare1R,Flare2Time,Flare2Alt,Flare2Res,Flare2L,Flare2R,Flare2Error,CutAwayTime,CutAwayAlt,CutAwayRes,BerganTime,BerganAlt,BerganRes,TurnWindTime,TurnWindAlt,TurnWindRes,Flare3Time,Flare3Alt,Flare3Res,Flare3L,Flare3R,Flare3Error,HeadWindOffSetDirection,DistTD,SafeZoneResult,SafeError){
xmldata = new Array(id,name,canopy,status,LookUpTime,LookUpAlt,LookUpRes,TurnLeftTime,TurnLeftAlt,TurnLeftRes,TurnRightTime,TurnRightAlt,TurnRightRes,Flare1Time,Flare1Alt,Flare1Res,Flare1L,Flare1R,Flare2Time,Flare2Alt,Flare2Res,Flare2L,Flare2R,Flare2Error,CutAwayTime,CutAwayAlt,CutAwayRes,BerganTime,BerganAlt,BerganRes,TurnWindTime,TurnWindAlt,TurnWindRes,Flare3Time,Flare3Alt,Flare3Res,Flare3L,Flare3R,Flare3Error,HeadWindOffSetDirection,DistTD,SafeZoneResult,SafeError)
$.trim(xmldata);
//$(xmldata).each(function(){$(this).addClass("xmldata");});
$.each(xmldata, function(i,elem){
$(elem).addClass('xmldata');
});
// Build HTML string and return
output = '';
output += '<tr>';
output += '<td><span class="id">' + id + '</span></td>';
output += '<td>'+ name + '<br />'+' <span class="xmllabel">canopy: </span> '+ canopy + '<br /> <span class="xmllabel">status: </span> ' + status +'</td>';
output += '<td align="center">'+ TurnLeftAlt + '<span class="xmllabel">ft</span> '+'<br />' + TurnLeftTime +'</td>';
output += '<td align="center">'+ TurnRightAlt + '<span class="xmllabel">ft</span> '+'<br />' + TurnRightTime +'</td>';
output += '<td align="center">'+ LookUpAlt + '<span class="xmllabel">ft</span> '+'<br />'+ LookUpTime +'</td>';
output += '<td align="center">'+ Flare1Alt + '<span class="xmllabel">ft</span> '+'<br />' + Flare1Time +'<br />' + 'L' + Flare1L + '% R' + Flare1R + '% </td>';
output += '<td align="center">'+ Flare2Alt + '<span class="xmllabel">ft</span> '+'<br />' + Flare2Time +'<br />' + 'L' + Flare2L + '% R' + Flare2R + '%</td>';
output += '<td align="center">'+ CutAwayAlt + '<span class="xmllabel">ft</span> '+ '<br />' + CutAwayTime +'</td>';
output += '<td align="center">'+ BerganAlt + '<span class="xmllabel">ft</span> '+'<br />'+ BerganTime +'</td>';
output += '<td align="center">'+ TurnWindAlt + '<span class="xmllabel">ft</span> '+'<br />'+ TurnWindTime +'</td>';
output += '<td align="center">'+ Flare3Alt + '<span class="xmllabel">ft</span> '+'<br />' + Flare3Time +'<br />' + 'L' + Flare3L + '% R' + Flare3R + '%</td>';
output += '<td align="center">'+ HeadWindOffSetDirection + '<span class="xmllabel">°</span> </td>';
output += '<td align="center">'+ DistTD + '<span class="xmllabel">ft</span> '+'</td>';
output += '<td align="center" class=" '+ SafeZoneResult + '"></td>';
output += '</tr>';
return output;
}
// Start function when DOM has completely loaded
$(document).ready(function(){getXML()});
它在IE9下工作,但不在下面。删除部分
xmldata = new Array(......
$.trim(xmldata);
$.each(xmldata, function(i,elem){....
当页面加载时触发此变量时,没有定义任何变量。 “修剪”是一个字符串操作,你不能修剪一个数组,并且你的每个循环遍历一个值的数组(如果它们已被定义)并试图向它们添加类...它们不是DOM元素
啊,是的,我忘记了从我尝试使用CSS对XML进行样式化时删除所有内容。但删除这些行我仍然无法加载它在IE9中。 – 2012-02-27 14:39:39
尝试使用$ .parseXML – charlietfl 2012-02-27 14:46:27
神奇,不知何故,我完全忘记了需要解析任何东西。那是整理它 - 谢谢你:) – 2012-02-27 14:55:51
这只是奇怪的。当我通过本地主机上的XAMPP加载,但无法使用公共Dropbox URL进行远程工作时,它在IE(v9 Ive)中正常工作。 – 2012-02-27 14:13:47