1

まず、この質問に関するスタックオーバーフローに関する多くの議論がありますが、これはまったく異なります。

私は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

$("#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 に答える
0

私は IE の追加でこの問題を抱えていました。append()に変更することで解決しましたappendTo()。そのため、代わりに;$(a).append(b);と書きます。$(b).appendTo(a)

これが私と同じようにあなたにとってもうまくいくことを願っています:)

于 2012-07-16T13:12:59.437 に答える