Ashura: Tabelle automatisch erweitern (Grafiken: 77KB)

Beitrag lesen

Hallo JürgenB.

Ich selbst zögere noch, createElement("tr") etc. durch die Tabellen-Methoden zu ersetzen, da ich davor zurückschrecke, wieder alles in allen möglichen Browsern zu testen. Hast du Erfahrungen im dynamischen Anlegen von Tabellen?

In der praktischen Anwendung habe ich diese Methoden bisher kaum gebraucht, da ich recht wenig mit Tabellen arbeite. In den Fällen, in denen ich bisher aber mit diesem Methoden gearbeitet habe, konnte ich keine Probleme verzeichnen. Ich gehe außerdem davon aus, dass weitaus mehr Browser die insert*-Methoden implementiert haben, als es bei createElement, appendChild und Konsorten der Fall ist.
Sowohl in der MSDN als auch im DOM kann ich die Spezifikation dieser Methoden finden, das genaue Alter kann ich aber leider nicht nennen.

Speziell das Verhalten unter MacOS mit Safari und IE würde mich interessieren, da ich für Tests auf den Macs immer Kollegen aus anderen Abteilungen (und Gebäuden) nerven muss.

Mein kleines Testscript erzeugt beim Laden 3 Zellen zu je 500 Zeilen. Zusätzlich kann mit Hilfe des Buttons eine weitere Zeile und eine darin enthaltene Zelle eingefügt werden.
Resultat Safari:
korrekter Aufbau

Resultat Mac-IE:
fehlerhafter Aufbau

Wie zu sehen ist, verhunzt der Mac-IE den Aufbau der Tabelle. Per innerHTML ist zu erkennen, dass er in die Tabelle zuerst die Zeichendaten und danach sämtliche Zeilen und Zellen, natürlich ohne Inhalt, einfügt. Variationen habe ich jetzt nicht unbedingt ausprobiert, möglicherweise funktioniert es im Mac-IE, wenn erst nach dem Einfügen aller Zeilen und Zellen die Zeichendaten eingefügt werden.

Einen schönen Sonntag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]