csgenie: dombaum

hi ich moechte per javascript dem dombaum eine tabelle hinzufügn erstmal der code für die tabelle:

var TABLE = document.createElement("Table");
var TR = document.createElement("TR");
         var Text = "AD";
         var TD = document.createElement("TD");
         TD.appendChild(document.createTextNode(Text));
         TR.appendChild(TD);
         TABLE.appendChild(TR);

dann füge ich sie mit appendchild dem body element hinzu jedoch wird nie optisch eine tabelle hinzugefügt

  1. Hallo,

    dann füge ich sie mit appendchild dem body element hinzu jedoch wird nie optisch eine tabelle hinzugefügt

    table benoetigt im DOM-Tree noch das Kindelement tbody.

    MfG, Thomas

    1. danke thomas des heisst ich muss ein tbody element einfügn in meine tabelle oder ??
      also noch table.appendchild(document.createElement("TBODY");

      doer ?

      1. Hallo,

        danke thomas des heisst ich muss ein tbody element einfügn in meine tabelle oder ??
        also noch table.appendchild(document.createElement("TBODY");

        Ja [allerding mit child --> Child plus schließende Klammer von appendChild], ersetze auf Deinen Code bezogen

        die Zeile TABLE.appendChild(TR);
        durch:
        TABLE.appendChild(document.createElement("TBODY")).appendChild(TR);

        MfG, Thomas

  2. Hi!

    var TABLE = document.createElement("Table");
    var TR = document.createElement("TR");
             var Text = "AD";
             var TD = document.createElement("TD");
             TD.appendChild(document.createTextNode(Text));
             TR.appendChild(TD);
             TABLE.appendChild(TR);

    Alternativ bieten sich die Methoden des HTML-DOM an:

    var TABLE = document.createElement("Table");
    var TR = TABLE.insertRow(-1);
    var Text = "AD";
    var TD = TR.insertCell(-1);
    TD.appendChild(document.createTextNode(Text));
    document.body.appendChild(TABLE);

    Die Methode insertRow ist sowohl für table als auch tbody,thead und tfoot verfügbar. Existiert zu diesem Zeitpunkt in table noch kein tbody-Element (TABLE.tBodies.length == 0) wird dieses automatisch erzeugt und eingefügt:

    var TABLE = document.createElement("Table");
    alert(TABLE.tBodies.length);
    var TR = TABLE.insertRow(-1);
    alert(TABLE.tBodies.length);

    Links:
    http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html#ID-64060425
    http://www.mozilla.org/docs/dom/domref/dom_html_ref12.html#998953
    http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/insertrow.asp

    Gruß Herbalizer

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:( fo:) ch:? rl:( br:> n4:& ie:% mo:} va:} de:] zu:) fl:{ ss:) ls:& js:|