首先,这里有很多关于这个问题的stackoverflow讨论,但是这个是完全不同的。我有
html中的代码<table id="taxonomyUpload"></table>
var rowM = $("<tr id=" + fileRowName + ">");
rowM.append($("<td bgcolor='#578ABA' height='10%' align='center'><x class='ez'>" + fileName
+ ":</x></td><td><input type='file' id='" + fileName + "' name='" + fileName
+ "' size='40' onchange='checkFiles(this);'/></td><td><div id=" + fileMinusDivName + " style='display='none''><img src='images/minus.jpg' height='20' onclick='deleteRow("
+ fileRowName + "," + index + ")'/></div></td><td><div id=" + filePlusDivName + " style='display='inline''>"
+ "<img src='images/plus.jpg' height='20' onclick='moreFiles()'/></div></td></tr>"));
$("#taxonomyUpload").append(rowM);
这在 Firefox 中运行良好,但在 IE 中不行。经过多次尝试并从stackoverflow读取了几个线程后,我想到不声明任何变量而是直接附加字符串。我的最终代码是
$("#taxonomyUpload").append($("<tr id=" + fileRowName + "><td bgcolor='#578ABA' height='10%' align='center'><x class='ez'>" + fileName
+ ":</x></td><td><input type='file' id='" + fileName + "' name='" + fileName
+ "' size='40' onchange='checkFiles(this);'/></td><td><div id=" + fileMinusDivName + " style='display='none''><img src='images/minus.jpg' height='20' onclick='deleteRow("
+ fileRowName + "," + index + ")'/></div></td><td><div id=" + filePlusDivName + " style='display='inline''>"
+ "<img src='images/plus.jpg' height='20' onclick='moreFiles()'/></div></td></tr>"));
这样我就可以让附加代码也适用于 IE。但是我遇到了一个问题,为什么会发生这种情况?是不是IE不支持var?