Tabelle dynamisch erstellen
wib
- javascript
Das hat bestimmt jeder schon x-mal gelesen: Firefox generiert die Tabelle anstandslos, bei IE tut sich gar nix. Was soll ich noch ausprobieren, um auch dem IE dieses Script beizubringen?
Es handelt sich dabei um eine Funktion, die in einem <div> mit der id "cards" Karten legt (,daher die komischen Variablennamen). Die Funktion enthält auch noch Gedöns zum Auswählen der Karten aus den Vorhandenen, aber das hab ich mal weggeschnitten. Den Rest habe mal kommentiert.
function deal(number) {
var loc = document.getElementById("cards"); // Der <div>-Block, in den die Tabelle kommen soll.
var childNodesLength = loc.childNodes.length; // Dies und die for-Schleife darunter löschen evtl vorhandene Sachen innerhalb des <div>s.
for(var i = 0; i < childNodesLength; ++i) {
loc.removeChild(loc.childNodes[0]);
}
var cid = 0; // Zählt die Tabellenzellen mit (zum Zuweisen einer ID zu jeder Zelle).
var table = document.createElement("table");
for(var i = 0; i < properties[1]; ++i) { // Die Tabellenreihen
var tr1 = document.createElement("tr");
table.appendChild(tr1); // Gleich rein mit der Reihe in die Tabelle. Hab gehört, dies könnte Stein des Anstoßes für den IE sein, aber ein Umstellen ans Ende hat nix gebracht.
for(var k = 0; k < properties[0]; ++k) { // Die Tabellenspalten
var tdc = document.createElement("td");
tr1.appendChild(tdc);
if(typeof(cards[cardsArr[cid]]) != "undefined") { // Tut nix zur Sache.
var href = document.createElement("a"); // Dummer Variablenname. Egal. Soll noch anders werden.
var card = document.createElement("img");
var attr = document.createAttribute("src"); // Ab hier werden die Attribute und deren Eigenschaften definiert.
var title = document.createAttribute("title");
var alt = document.createAttribute("alt");
var id = document.createAttribute("id");
attr.nodeValue = "img/" + cards[cardsArr[cid]]["file"];
title.nodeValue = cards[cardsArr[cid]]["name"];
alt.nodeValue = cards[cardsArr[cid]]["name"];
id.nodeValue = cid;
card.setAttributeNode(attr); // Hier werden die Attribute den Karten zugewiesen.
card.setAttributeNode(title);
card.setAttributeNode(alt);
card.setAttributeNode(id);
href.onclick = popdescr; // Da poppt dann so eine Info auf, tut nix zur Sache.
card.style.width = "109px";
card.style.height = "156px";
tdc.appendChild(href); // Der Link kommt in die Zelle
href.appendChild(card); // Das Bild kommt in den Link
}
cid++;
}
}
loc.appendChild(table); // Die Tabelle kommt, wenn sie fertig ist, in den <div>-Block.
}
Ja, so läuft der Hase. Wer's besser weiß, dem wär ich dankbar. Bis dann!
wib,
Wie Recht MudGuard doch in http://forum.de.selfhtml.org/archiv/2005/1/t98786/#m603113 hatte.
Die Antwort auf dein Problem findest du auch in jenem Thread.
Gunnar
hi,
wib,
Wie Recht MudGuard doch in http://forum.de.selfhtml.org/archiv/2005/1/t98786/#m603113 hatte.Die Antwort auf dein Problem findest du auch in jenem Thread.
wie er(?) schon sagte,
Das hat bestimmt jeder schon x-mal gelesen
gruß,
wahsaga