Heute habe ich auf ein Problem gestoßen, um Dinge zu tun. Ich habe versucht, einer Tabelle dynamisch mehrere Datenzeilen hinzuzufügen, und definierte zunächst eine Tabelle:
123456 | <table> <thead> </head> <tbody id = filelist> </tbody> </table> |
Dann in JavaScript:
12345 | für (var i in Einträgen) {... var fileTable = document.getElementById ('filelist'); Filetable.InnerHtml += '<tr> <td> 111 </td> <td> 222 </td> </tr>';} |
Es gibt kein Problem in Firefox, aber es wird unmöglich sein, es unter IE zu setzen. Ich fragte meine Kollegen + suchte und stellte fest, dass die innerhtml-Attribute dieser Elemente schreibgeschützt sind und nicht direkt unter dem IE betrieben werden können. Aber es gibt keine Lösung. TDs Innerhtml kann weiterhin betrieben werden. Der obige Code kann so geändert werden:
123456789101112 | für (var i in Einträgen) {... var fileTable = document.getElementById ('filelist'); var tr = document.createelement ('tr'); var td1 = document.createelement ('td'); td1.innerhtml = '111'; var td2 = document.createelement ('td'); td2.ernnerHtml = '222'; tr.Appendchild (td1); tr.Appendchild (td2); Filetable.AppendChild (tr);} |
Sie können zuerst die CreateLement -Methode von DOM verwenden, um TR und TD zu erstellen, dann entsprechende Vorgänge auf der Innerhtml von TD durchzuführen und schließlich die Appendchild -Methode zu verwenden, um die erstellten Elemente zum DOM -Baum hinzuzufügen. Auf diese Weise kann es normal unter IE laufen. Es ist zu beachten, dass wenn Ihr Tisch keinen TBODY hat, dies tut:
1 | <table id = filelist> </table> |
Zu diesem Zeitpunkt können Sie die Appendchild -Methode nicht direkt in der Tabelle verwenden, da das Tabellenelement unter IE6 die Appendchild -Methode nicht unterstützt (IE8 scheint es bereits unterstützt zu haben).
Einige Leute im Internet haben auch vorgeschlagen, Insertrow () und andere Methoden zu verwenden, aber diese Methode hat Probleme mit der Kompatibilität mit verschiedenen Browsern (Insertrow (-1) ist in Firefox erforderlich), daher ist es nutzlos.
Übrigens, obwohl ich schon viele JS -Informationen bewusst zuvor gelesen hatte, erkannte ich immer noch die Wahrheit. Jetzt fange ich gerade an, beschäftigt zu sein und ich bin ruhig in meinem Studium