Felix Riesterer: [object HTMLliElement] ie streikt

Beitrag lesen

Lieber Chris,

Ich denke bis jetzt hat noch niemand begriffen, was mein Problem ist.

richtig.

Eigentlich kann man obenstehendes vernachlässigen.

Warum schreibst Du es dann?

Die arrListS enthält N htmlObjekte mit folgendem Inhalt:
<li id="slide_2"><div class="selectorDiv" id="divHSERVER_2" onclick="selectTipSERVER(2);"> <b>192.168.3.123</b><br /><b>[ Obelix ]</b><br />UNIXSOLARIS</div></li>

Ich lese hier HTML-Code, der gut auch ein String sein kann. Von daher weiß ich nicht wirklich, ob arrListS tatsächlich HTML-Objekte enthält. Zumal diese <li>-Elemente als innerHTML kein <li>-Tag besitzen!

Übrigens: Woher kommen diese "htmlObjekte"? Waren die zuvor aus dem Dokument referenziert worden (wo sie auch stehen), oder hast Du die alle per document.createElement() erstellt?

var myNodeB = arrListS.get(nextNode);

Was ist nextNode? Ist das ein Objekt oder ein numerischer Wert? Wird aus Deinem Beispiel nicht klar!

ulContainer.appendChild(myNodeB);

im FF alert(myNodeB.innerHTML) = HTML Code alles OK
im IE alert(myNodeB.innerHTML) = nichts leer

Das unterschiedliche Verhalten im IE mag daher rühren, dass Deine arrListS-Inhalte eben keine ordnungsgemäß erstellten Listen-Elemente sind. Ich habe auch festgestellt, dass man im IE immer genau aufpassen muss, in welchem document-Objekt (z.B. bei Frames hat man eventuell mehrere zur Auswahl) man ein HTML-Element created hat. Ich hatte schon den Fall, dass ich im Iframe ein HTML-Element dynamisch erzeugen und einhängen wollte, was im FF problemlos gelang, im IE aber nicht, da ich mit "document.createElement()" aus dem parentFrame ein HTML-Element erzeugt hatte, das mich der IE aber nicht im document des Iframes einhängen lassen wollte.

im FF ulContainer.appendChild(myNodeB) = neues element in ulContainer
im IE ulContainer.appendChild(myNodeB) = <li id="slide_2">ohne inhalt</li> element im ulContainer

Nicht gerade nachvollziehbar, aber vielleicht gibt es eine Erklärung, wenn Du endlich verrätst, wie die li-Elementobjekte entstanden sind (vor allem wo!) und wo das ul-Elementobjekt ist, in welches sie eingehängt werden sollen.

wenn ich myNodeB.childNodes[0].id mache erhalte ich im IE divHSERVER_2 was absolut korrekt ist. Ich kann also manuell auf die Knotenstruktur des Objektes zugreiffen, dieses jedoch nicht als ganze Einheit mit appendChild an ein anderes Objekt übergeben.

Das kommt darauf an, was in arrListS steht. Im IE steht da offensichtlich nicht wirklich alles, sondern nur die Hülle eines li-Elementobjektes.

Du hast nicht zufällig ein Testbeispiel, das man online begutachten könnte?

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)