DOM-Kram im IE
wib
- javascript
Hi, Firefox schafft's ohne Murren, IE tut einfach nichts, auch ohne Murren. Es geht um eine Tabelle mit Spielkarten drin, die da relativ dynamisch ins Dokument gebastelt wird. Hier der wichtige Teil des Scripts:
var loc = document.getElementById("cards"); // ein <div>
var childNodes = loc.childNodes.length;
for(var i = 0; i < childNodes; ++i) {
loc.removeChild(loc.childNodes[0]); // löscht alles in dem div
}
var cid = 0; // Zähler
var table = document.createElement("table");
loc.appendChild(table);
for(var i = 0; i < properties[1]; ++i) { // properties enthält die Maße der Tabelle...
var tr1 = document.createElement("tr");
table.appendChild(tr1);
for(var k = 0; k < properties[0]; ++k) {
var td = document.createElement("td");
tr1.appendChild(td);
if(typeof(cards[cardsArr[cid]]) != "undefined") { // Falls es mehr Zellen als Karten gibt.
var card = document.createElement("img");
var attr = document.createAttribute("src");
attr.nodeValue = "img/" + cards[cardsArr[cid]]["file"];
var title = document.createAttribute("title");
title.nodeValue = cards[cardsArr[cid]]["name"];
card.setAttributeNode(title);
td.appendChild(card);
card.setAttributeNode(attr);
card.style.width = "109px";
card.style.height = "156px";
}
cid++;
}
}
MFG WIB
Hallo Wib,
dieses Phänomen glaube ich auch schon mal beobachtet zu haben. Wenn ich mich recht entsinne sollte es im umgekerten Wege gehen:
Der IE scheint Probleme mit bereis eingehangenen Elementen zu haben...
Gruß aus Berlin!
eddi
Hi,
ie braucht unterhalb von table noch tbody.
Gruesse, Joachim
var table = document.createElement("table");
Der Tabelle musst du noch ein Element tbody spendieren.
table.appendChild(tr1);
und diesem dann die Unterelemente zufügen.
Struppi.