Hallo Wissende, mich beschäftigt folgendes:
Ich habe eine Tabelle, deren Kinderknoten (tr) gehe ich durch,
und lasse mir den inhalt deren Kinderknoten (td) ausgeben. Das
mache ich wie folgt:
der aufbau der tabelle ist wie folgt:
x
x
y
x
x
y
Nein, der Aufbau deiner Tabelle ist in Wahrheit wie folgt:
x
x
y
x
x
y
Lass dir mal t.childNodes.length ausgeben, dann wirst du sehen, dass der IE ‚1‘ meldet, vernünftige Browser hingegen ‚3‘, egal, wie viele TR-Elemente deine Tabelle als Enkelkind-Elemente enthält:
Selbst, wenn du kein explizites TBODY-Element in deinen Tabellen-Code schreibst, so ist dieses implizit immer als direktes Kindelement vorhanden.
t.childNodes ist bei nur einem TBODY-Element deiner Tabelle*, ein Array mit genau einem bzw. (inklusive Zeilenumbrüchen im Quellcode) drei Membern, deren NodeName „#text“ bzw. „TBODY“ lautet (Den kannst du dir spaßeshalber ja auch mal ausgeben lassen).
Schnelleren Zugriff auf die Zeilen der Tabelle hast du über deren Element-Objekt-Eigenschaft „rows&rdqo;, die übrigens nicht nur TABLE-, sondern auch TBODY-Elementobjekte haben.
http://de.selfhtml.org/javascript/objekte/htmlelemen…
http://de.selfhtml.org/javascript/objekte/htmlelemen…
Gruß Gernot
* Explizit könntest du in deiner Tabelle ja auch mehrere TBODY-Bereiche markieren, tust du es aber nicht, so ist trotzdem immer mindestens einer pro Tabelle implizit vorhanden.