jquery append在IE中不使用var声明?

jquery append在IE中不使用var声明?,jquery,Jquery,首先,关于这个问题,这里有很多关于stackoverflow的讨论,但是这一个是完全不同的。我有代码 在html中是 var rowM = $("<tr id=" + fileRowName + ">"); rowM.append($("<td bgcolor='#578ABA' height='10%' align='center'><x class='ez'>" + fileName + ":</x></td><td>

首先,关于这个问题,这里有很多关于stackoverflow的讨论,但是这一个是完全不同的。我有代码

在html中是


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);
var rowM=$(“”);
rowM.append($(“”+文件名
+ ":" 
+ ""));
$(“#taxonomyopload”).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>"));   
$(“#taxonomyUpload”).append($(“”+文件名
+ ":" 
+ ""));   



通过这种方式,我可以使附加代码也适用于IE。但我有一个问题,为什么会这样?是不是IE不支持var?

我在IE中附加到时遇到了这个问题。我通过将
append()
更改为
appendTo()
解决了这个问题。 因此,不要使用
$(a)来追加(b),写
$(b)。附在(a)


希望这对您和我一样有效:)

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

var rowM=$(“”);
rowM.append($(“”+文件名
+ ":" 
+ ""));
$(#taxonomyUpload').append(rowM);


这也可以让我在IE中运行append。

不是很有用,但发生这种情况是因为它是IE…你是在动态创建的基础上运行append吗nodes@RTB:应该还有其他原因。不需要将附加项包装在
$()
-只需
$(“#taxonomyUpload”)。附加(”的样式和对齐方式在IE中也发生了故障。@RTB的声明似乎是正确的。这对我来说也是一种情况,就像在FF中工作,但在IE-8.0中不工作一样。很抱歉,我不明白你在评论中说的是什么:/即使我使用appendo()而不是append()我发现,在jquery中,在上述情况下,使用单引号比使用双引号更好。