Hallo zusammen,
soeben ist mir das folgende, völlig merkwürdige Verhalten des Internet Explorers aufgefallen (MSIE 6):
[CODE]
<html>
<head>
<script type="text/javascript">
function msietest() {
//Objekte anlegen:
var tb=document.createElement('table');
var tr=document.createElement('tr');
var td=document.createElement('td');
var wert=document.createTextNode('Test!');
tb.appendChild(tr);
tr.appendChild(td);
td.appendChild(wert);
//funktioniert bis test1
//document.getElementById('test').appendChild(wert);
//document.getElementById('test1').appendChild(td);
//document.getElementById('test2').appendChild(tr);
//document.getElementById('test3').appendChild(tb);
}
</script>
</head>
<body>
<div id="test3">
<table id="test2" border="1">
<tr id="test1">
<td id="test">
</td>
</tr>
</table>
</div>
</body>
<script type="text/javascript">
msietest();
</script>
</html>
[/CODE]
Was passiert ist ganz simpel: Im DOM der Seite wird eine Tabelle, eine Tabellenzeile, eine Tabellenzelle und ein Textknoten mit dem Wert "Test!" erzeugt. Der Wert ist das Kind der Zelle, diese wiederum "hängt" unter der Tabellenzeile, und Zeile schließlich unter der Tabelle. Die auskommentierten Zeilen hängen diese Hierarchie an verschiedenen Stellen in das vorhandene Element auf der Seite ein.
Kommentiert man die erste Zeile aus, so wird der Textknoten "in die Zelle gehängt" - kein Problem. Kommentiert man NUR die 2. Zeile von oben aus, wird die Tabellenzelle (mitsamt dem Textknoten) in die Tabellenzeile gehängt - funktioniert auch. Und jetzt wird´s kurios: will man unter die Tabelle die gesamte Zeile nebst Unterobjekten einfügen...aber probiert selbst. Der Fehler tritt nur beim MSIE auf, Opera oder Mozilla Browser erzeugen brav bei Bedarf die ganze Tabelle so. Da wären wir auch schon bei meinem Problem: ich muß eine solche Tabelle (Zeilen/Spalten dynamisch) per JavaScript erzeugen - und das ganze muß latürnich auch mit dem Internet Explorer laufen. Hat dazu jemand eine Idee?