Liebe Mitleser,
ich habe eine Lösung zu meinem Problem gefunden.
Mein Kreuzworträtsel mit Javascript wird nun auch im IE (IE6 und IE7) angezeigt! *freu*
Der technische Hintergrund des Problems:
Wenn ich im IE mittels appendChild ein dynamisch erzeugtes <tr>-Element in ein <table>-Element einhängen möchte, dann wird das (zumindest in meinem Script) vom IE nicht gerendert, obwohl es im DOM vorhanden ist, wie ein alert(meineTabelle.innerHTML) zeigt.
Auch wenn echte Browser diese DOM-Methode klaglos umsetzen, so besteht der IE (traditionsbedingt?) auf der für <table>-Elementobjekte besonderen Methode insertRow(), wenn die neu erzeugte Zeile gerendert werden soll.
var tabelle = document.createElement("table");
// so nicht im IE:
var zeile_nonIE = document.createElement("tr");
tabelle.appendChild(zeile);
tabelle.insertBefore(zeile, null); // alternativ zu appendChild(), wird im IE ebenfalls nicht gerendert!
// aber so geht es auch im IE
var zeile_IE = tabelle.insertRow(tabelle.getElementsByTagName("tr").length <= 0 ? 0 : tabelle.getElementsByTagName("tr").length);
Auch wenn für Tabellen eigentlich alle drei Methoden (da DOM-konform) zum zu erwartenden Ergebnis führen sollten, so muss ich für den IE der insertRow()-Methode den Vorzug geben, da dieser im Falle von Tabellen hier eine völlig andere Herangehensweise zu brauchen scheint.
Möge diese meine Erkenntnis jemandem von Nutzen sein. Lohnt sich ein entsprechender Hinweis in der <http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#table@title=SELFHTML-Seite zu Tabellen> (vor allem im Script-Beispiel)?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)