Axel Richter: tabelle erweitern

Beitrag lesen

Hallo,

<table cellpadding=0 cellspacing=0 width="450" id="ratetable">

in dieser Tabelle sind bereits 4 zeilen vorhanden.
Wenn ich nun auslesen möchte wie viele zeile bereits vorhanden sind mit folgender codezeile:

var Anzahl = opener.document.getElementById('ratetable').childNodes.length;

(das ganze passiert in einem separatem Fenster, deswegen auch opener) bekomme ich nur eine 1 zurück als wert obwohl 4 zeilen bereits bestehen.

Ja, Du bekommst als childNode das TBODY-Element zurück. Nein, Du hast nicht keins ;-). Jede HTML-Tabelle hat mindestens einen TBODY, auch wenn der HTML-Tag dafür optional ist. Bei XHTML ist das anders. Davon wissen aber die DOM-Implementationen einiger Browser wieder noch nichts.

Warum gibt mir das ganze falsche ergebnisse zurück?

Benutze statt childNodes, was sehr allgemein ist und alles Mögliche sein kann, lieber gezielt Abfragen nach dem, was Du wirklich willst.

[HTMLTableElement].rows z.B. bringt wirklich eine Collection aller HTMLTableRowElemente in der Tabelle.

viele Grüße

Axel