1

首先,这里有很多关于这个问题的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?

4

2 回答 2

0

我在 IE 中附加到这个问题。我解决了更改append()appendTo(). 所以代替$(a).append(b);, 写$(b).appendTo(a);

希望这对你有用,就像对我一样:)

于 2012-07-16T13:12:59.437 回答
0

我可以通过将双引号替换$("#taxonomyUpload")为单引号来运行代码$('#taxonomyUpload');因此工作代码是

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);

这也是让我在 IE 中运行 append 的原因。

于 2012-07-22T18:31:51.587 回答