Ich bin vor Jahren auch auf dieses Problem gestoßen.
Wenn Sie die Eigenschaft innerHTML
zum Hinzufügen von HTML verwenden, wird das zugrunde liegende Modul nach jedem Update das nicht geschlossene Tag schließen (und anderen fehlerhaften HTML-Code korrigieren). Nach der zweiten Zeile werden die Tags <table>
und <tr>
automatisch geschlossen und alle Inhalte danach werden nur außerhalb der Tabelle geschrieben.
Methode 1 (Der einfache Weg)
Verwenden Sie eine Zeichenfolge, um den HTML-Code für die gesamte Tabelle zu speichern und gleichzeitig zu aktualisieren.
%Vor%Methode 2 (Der bessere Weg)
Verwenden Sie DOM-Funktionen
%Vor%Methode 2 verbessert (Der noch bessere Weg)
Verwenden Sie anstelle von HTML-Attributen CSS . Letzteres wird in der Regel nach den neuesten Spezifikationen abgeschrieben.
Eine gute Quelle, um CSS zu lernen, ist das Mozilla Developer Network
Methode 3 (Der lange Weg, aber der beste auf lange Sicht)
Verwenden Sie jQuery .
%Vor%Ich denke, das Hauptproblem besteht darin, dass Ihre Attribute nicht zitiert werden.
Aber es ist fast immer eine schlechte Idee, den Inhalt eines dom-Elements in einer Schleife immer wieder zu aktualisieren - jedes Mal, wenn Sie dom-Inhalt aktualisieren, sorgt der Browser für einige interne Arbeiten, um sicherzustellen, dass das Seitenlayout aktuell ist.
Ich würde den HTML-String lokal aufbauen und dann ein letztes Update machen. (Und natürlich stellen Sie sicher, dass Ihre Attribute zitiert werden)
%Vor%Tags und Links javascript html