HTML: Zeichne die Tabelle mit innerHTML

7
%Vor%

Ich möchte eine Tabelle mit Javascript zeichnen. Also habe ich den Code wie oben geschrieben. Ich denke, es zeichnet eine Zeile, die 10 Spalten hat, aber es funktioniert nicht. Wer kennt dieses Problem?

    
Jimmy 08.12.2012, 07:31
quelle

2 Antworten

21

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%

Geige

Methode 2 (Der bessere Weg)

Verwenden Sie DOM-Funktionen

%Vor%

Geige

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

Geige

Methode 3 (Der lange Weg, aber der beste auf lange Sicht)

Verwenden Sie jQuery .

%Vor%

Geige

    
TwiNight 08.12.2012 07:40
quelle
2

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%     
Adam Rackis 08.12.2012 07:34
quelle

Tags und Links