megaman7de: Tabelle mit dynamisch erstellen

Hallo,
Ich möchte gerne eine tabelle dynamisch erstellen.
Dazu habe ich auch bereits eine funktion geschrieben die das macht
allerdings wird nur das erste "td" erstellt obwohl die anderen genauso erzeugt werden ?
warum werden die anderen "tds" nicht erstellt ?

hier der code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Titel</title><script type="text/javascript"><!--
function bla()
{
 var newtr = document.createElement("tr");
 var newtd = document.createElement("td");

var textf = document.createTextNode("f");
 var textg = document.createTextNode("g");
 var texth = document.createTextNode("h");
 var texti = document.createTextNode("i");
 var textj = document.createTextNode("j");

document.getElementById("tab").appendChild(newtr);

document.getElementsByTagName("tr")[0].appendChild(newtd);
 document.getElementsByTagName("tr")[0].appendChild(newtd);
 document.getElementsByTagName("tr")[0].appendChild(newtd);
 document.getElementsByTagName("tr")[0].appendChild(newtd);
 document.getElementsByTagName("tr")[0].appendChild(newtd);

document.getElementsByTagName("td")[0].appendChild(textf);
 document.getElementsByTagName("td")[1].appendChild(textg);
 document.getElementsByTagName("td")[2].appendChild(texth);
 document.getElementsByTagName("td")[3].appendChild(texti);
 document.getElementsByTagName("td")[4].appendChild(textj);
}
//--></script></head>
<body onLoad="bla()">
<table>
<tbody id="tab">

</tbody>
</table>

</body></html>

auch abrufbar unter:
http://people.freenet.de/megaman7de/v/versuche.htm

  1. Hallo,

    Ich möchte gerne eine tabelle dynamisch erstellen.
    Dazu habe ich auch bereits eine funktion geschrieben die das macht
    allerdings wird nur das erste "td" erstellt obwohl die anderen genauso erzeugt werden ?
    warum werden die anderen "tds" nicht erstellt ?

    Es werden genausoviel Elemente <td> erstellt, wie Du erzeugst. Das ist eine bittere Warheit, die mir auch schon auf die Füße gefallen ist.

    hier der code:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><head><title>Titel</title><script type="text/javascript"><!--
    function bla()
    {
    var newtr = document.createElement("tr");
    var newtd = document.createElement("td");

    [...]

    document.getElementById("tab").appendChild(newtr);

    document.getElementsByTagName("tr")[0].appendChild(newtd);
    document.getElementsByTagName("tr")[0].appendChild(newtd);
    document.getElementsByTagName("tr")[0].appendChild(newtd);
    document.getElementsByTagName("tr")[0].appendChild(newtd);
    document.getElementsByTagName("tr")[0].appendChild(newtd);

    Ich hatte es damals so gelöst, daß ich jedes neu einzuhängende Element <td> mit document.createElement() neu erschuf. Von der Logik her sollte es aber auch möglich sein, das einmalig erzeugte Element zu klonen cloneNode() http://de.selfhtml.org/javascript/objekte/node.htm#clone_node. Ich habe es aber nicht ausprobiert!

    Gruß aus Berlin!
    eddi

    --
    Manchmal trifft es einen doch ganz unverhofft t86591:
    > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
    Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)