Gerd Gruber: Tabelle dynamisch erzeugen in MSIE 5.0

Beitrag lesen

Hallo!

Mein Problem: ich erzeuge dynamisch eine Tabelle (vgl. das Script unten) mit JavaScript. Im Mozilla 1.0 funktioniert das auch einwandfrei. Im Internet Explorer 5.0 wird die Tabelle aber nicht angezeigt. Es wird jedoch auch kein JS-Fehler gemeldet und das Objekt scheint sogar irgendwie zu existieren, da man via Script z.B. auf die Eigenschaft "info" der Tabelle zugreifen kann. Dummerweise kann man beim MSIE ja nicht vernünftig nach Fehlern in JScripts suchen. Irgendetwas mache ich also falsch oder vergesse ich. Weiß vielleicht jemand was?

[Einen Div mit Links drin habe ich übrigens mit ähnlichem Script dynamisch erzeugt. Das funktioniert im IE 5. Haben Tabellen irgendwelche kuriosen Eigenarten?]

Tschau,
apstrakt

Das Skript [Ausschnitt]:

var megalayer=document.getElementById("megalayer");
     fllayer = document.createElement("table");
     fllayer.id="fllayer";
     fllayer.info=""+anZeilen+"x"+anSpalten;
     fllayer.style.position = "absolute";
     fllayer.style.top = "40px";
     fllayer.style.left = "7px";
     fllayer.style.margin = "0px";
     fllayer.style.padding = "0px";
     fllayer.style.zIndex = "3";
     fllayer.style.visibility = "visible";
     fllayer.style.width = breite+"px";
     fllayer.style.height = hoehe+"px";
     for (var zeile=0; zeile<anZeilen; zeile++) {
       var aktuTR = document.createElement("tr");
       fllayer.appendChild(aktuTR);
       for (var spalte=0; spalte<anSpalten; spalte++) {
         var aktuTD = document.createElement("td");
         aktuTD.id="fl"+zeile+"x"+spalte;
         aktuTD.style.backgroundColor = "red";
         aktuTD.style.width = qubr+"px";
         aktuTD.style.height = qubr+"px";
         aktuTD.style.margin = "0px";
         aktuTD.style.padding = "0px";
         aktuTD.appendChild(document.createTextNode("x"));
         aktuTR.appendChild(aktuTD);
       }
     }
     megalayer.appendChild(fllayer);

Hallo,

ich habe ein ähnliches Problem gehabt.
Geholften hat bei mir, dass ich dem Table ein tbody angefügt habe und darin erst die tr und td erzeugt habe.

In deinem Fall so ähnlich wie:
var flbody = document.createElement("tbody");
flbody.id="tbody1";
aktuTR.appendChild(aktuTD);
flbody.appendChild(aktuTR);
fllayer.appendChild(flbody);

ich hoffe dies funktioniert bei dir auch

mit freundlichen Grüßen

Gerd