Andre: innerHTML im IE dynamisch einem Div zuweisen

Hallo!

Ich programmiere gerade eine Suche, die ähnlich Google Suggest ist.
Ich sende die Daten an den Server und erhalte die Antwort als XML zurück.
Das Parsen funktioniert im IE und Firefox schon gut.
Alledings bekomme ich das Div im IE nicht eingefügt, bzw ich kann die Daten nicht in das innerHTML des div schreiben.

Problem: Der IE findet das DIV nicht mehr (vermute ich mal), denn wenn ich mit document.getElementById('mydiv') mir das DIV holen will, sagt er immer dass "document.getElementById('mydiv') ist Null oder Kein Objekt"
Im FireFox funktioniert es wie schon erwähnt.

Womit kommt der IE nicht klar und wie kann ich das umgehen?

Hier ein Teil meines Codes:

Mit der Funktion createDiv() wird das Div erzeugt

function createDiv(eingabe)
    {
        //Position des Eigabeelementes
        //Bei y + 20, weil Höhe des Inputs beträgt 20
        var position;
        position=getPosition(eingabe);
        var positionY = position.y+20;
        var positionX = position.x;

//Arbeitsbereich
        arbeitsbereich = document.getElementsByTagName("body")[0];

//Erzeugen des Div
        var myDiv=null;
        myDiv = document.createElement("div");

if(window.ActiveXObject)
        {
          myDiv.id = "myDiv";
          myDiv.style.width = widthDiv;
          //myDiv.style.min-width = min_widthDiv;
          //myDiv.style.background-color = backgroundDiv;
          myDiv.style.border = borderDiv+'px solid '+bordercolorDiv;
          myDiv.style.position = 'absolute';
          myDiv.style.top = positionY+"px";
          myDiv.style.left = positionX+"px";

}
        else if(window.XMLHttpRequest)
        {
          var divId = null;
          divId = document.createAttribute("id");
          arbeitsbereich.appendChild(myDiv);
          divId.nodeValue="myDiv";
          var divStyle = document.createAttribute("style");
          divStyle.nodeValue="width:"+widthDiv+"; min-width:"+min_widthDiv+"; background-color:"+backgroundDiv+"; border:"+borderDiv+"px solid "+bordercolorDiv+";position:absolute;top:"+positionY+"px;left:"+positionX+"px;";
          myDiv.setAttributeNode(divId);
          myDiv.setAttributeNode(divStyle);
        }

}

In der Funktion Daten kommt dann folgender Code vor:

if(window.ActiveXObject) //IE
        {
          document.getElementById('myDiv').innerHTML = ausgabe;
        }
        else if(window.XMLHttpRequest)//Firefox und andere
        {
          document.getElementById('myDiv').innerHTML = ausgabe;
        }
Habt ihr eine Lösung, ich bin schon stundenlang am Probieren

  1. hallo,

    in der abfrage "if(window.ActiveXObject){...div für ie erzeugen}" fehlt meiner ansicht nach das appendChild; wieso ist an dieser stelle überhaupt eine browserweiche, diese funktionen (appendChild etc.) sollten doch browserübergreifend funktionieren?

    grüße basti

    1. hallo,

      in der abfrage "if(window.ActiveXObject){...div für ie erzeugen}" fehlt meiner ansicht nach das appendChild; wieso ist an dieser stelle überhaupt eine browserweiche, diese funktionen (appendChild etc.) sollten doch browserübergreifend funktionieren?

      grüße basti

      hi basti,
      ich bin noch ein blutiger Anfäger was das betrifft.
      Das war wirklich das appendChild, danke.
      Irgendwie wusste ich, dass es was ganz einfaches ist.
      Vielen Dank

      Gruß André