Problem mit JS Code / DOM / dynamisches Füllen einer tabelle
Christian S.
- javascript
Hi,
habe ein kleines Problem mit folgendem JS-Code:
function Test(e)
{
var table = document.getElementById("test");
while (table.childNodes[0])
{
table.removeChild(table.childNodes[0]);
}
var tr = document.createElement("tr");
var th1 = document.createElement("th");
var th2 = document.createElement("th");
th1.innerHTML = "Nachname";
th2.innerHTML = "Vorname";
tr.appendChild(th1);
tr.appendChild(th2);
table.appendChild(tr);
}
[...]
HTML:
<table border="1" id="test" style="background-color: Gray;width:200px; height: 200px;">
</table>
die Funktion wird von einem Event getriggert.
Im Firefox klappts auch fast. Jedoch scheint er bei jedem Funktionsaufruf "mehr" in die tabelle hinzuzufügen.
Also sieht etwa so aus wie leere Zeilen, die er unter die Kopfzeile hinzufügt werden.
Die Tabelle muss nur bei jedem Event mit anderen Daten gefüllt werden. Dazu wollte ich halt jedesmal erst alle Zeilen löschen und dann neu befüllen.
Im IE (7) klappt es übrigens gar nicht. Es wird nicht einmal eine graue Fläche angezeigt.
Gruß
Christian
Hello out there!
table.appendChild(tr);
Nein, 'tr' ist in HTML niemals Kind von 'table'. Oh Nostradamus ...
See ya up the road,
Gunnar
Hello out there!
table.appendChild(tr);
Nein, 'tr' ist in HTML niemals Kind von 'table'. Oh Nostradamus ...
See ya up the road,
Gunnar
Ja danke! Funktioniert mit tbody.
Ganz verstehen tu ich es dennoch nicht. SelfHTML ist da anderer Ansicht.
Gruß
Christian
Hello out there!
Ganz verstehen tu ich es dennoch nicht.
Du hast dich in dem über Ecken verlinkten Thread </archiv/2005/1/t98786/> nicht umgesehen? Lies von </archiv/2005/1/t98786/#m602573> an abwärts.
SelfHTML ist da anderer Ansicht.
Falscher Ansicht.
See ya up the road,
Gunnar
Hi,
Ganz verstehen tu ich es dennoch nicht. SelfHTML ist da anderer Ansicht.
Nein, ist es nicht.
TBODY ist (ab HTML 4) ein Pflichtelement von TABLE - allerdings ist die Notation optional. Und das schreibt auch SELFHTML.
D.h.: TBODY ist gemäß der DTD immer vorhanden, auch wenn man es nicht unbedingt notieren muß. Wenn Du es nicht selbst notierst, sorgt also der Browser automatisch dafür.
Gruß, Cybaer
Hello out there!
SelfHTML ist da anderer Ansicht.
Nein, ist es nicht.
Doch, ist es. Da steht: „tr […] Elternelemente[:] […] table […]“
TBODY ist (ab HTML 4) ein Pflichtelement von TABLE - allerdings ist die Notation optional. Und das schreibt auch SELFHTML.
Nicht in der HTML-Elementreferenz. [[ref:bug;1634@title=BUG1634]]
See ya up the road,
Gunnar
Hi,
Doch, ist es. Da steht: „tr […] Elternelemente[:] […] table […]“
Oh - dann ist es Pech, daß explizit drübersteht, daß man sich auf HTML 4 bezieht ... >;->
Gruß, Cybaer