Hallo liebe Community,
ich bin mittlerweile am verzweifeln mit dem IE. In Opera und FF funktioniert meistens alles was ich im Netz aufschnappe und hier auf selfhtml lese auf Anhieb oder macht nur wenig mucken, im IE stoße ich immer und immer wieder auf Probleme.
Folgende Problemstellung:
Ich habe einen Chat und dem liefere ich die Ausgabe via XML. Diese hole ich per AJAX ab und geb sie im Client aus. Da ich leider nicht einen XML-Baum einfach an einen HTML-Baum anhängen kann, hab ich mir eine kleine Funktion geschrieben, die den XML Baum durchgeht, und dann schön an den HTML-Baum anhängt.
Hier mal eben diese Funktion im Ganzen:
function parseXMLnode(XMLnode, HTMLnode){
var attrnode;
var lastn;
//check every element of the node
for (var i=0; i<XMLnode.childNodes.length; i++){
switch (XMLnode.childNodes[i].nodeType){
case 1:
//node is an element
HTMLnode.appendChild(document.createElement(XMLnode.childNodes[i].nodeName));
//nodeType = 2 geht nicht, deshalb hier die überprüfung ob Attribute vorhanden sind.
for (var a=0; a<XMLnode.childNodes[i].attributes.length; a++){
attrnode = document.createAttribute(XMLnode.childNodes[i].attributes[a].nodeName);
attrnode.nodeValue = XMLnode.childNodes[i].attributes[a].nodeValue;
HTMLnode.lastChild.setAttributeNode(attrnode);
}
if (XMLnode.childNodes[i].hasChildNodes()){
parseXMLnode(XMLnode.childNodes[i], HTMLnode.lastChild);
}
break;
case 3:
//node is a textnode
HTMLnode.appendChild(document.createTextNode(XMLnode.childNodes[i].nodeValue));
break;
}
}
}
Der Fehler sitzt hier in Zeile 16 (HTMLnode.lastChild.setAttributeNode(attrnode);), der IE behauptet dann einfach "Fehler: Mitglied nicht gefunden", Fehlercode 0. Hat jemand von euch eine Ahnung wo der Hund begraben liegen könnte?