frühstücker: Zugriff auf dynamisch erzeugte Elemente

Tach ihr lieben Helfer

Ich stochere schon seid Stunden im trüben.

Ich muss eine uralte javascript function von der Benutzung von 'document.all' auf 'document.getElementById()' umbauen
und stehe vor dem Problem das der dynamisch eingebundene content(HTML-Elemente) nicht in dem Node-Baum zu finden sind.

Erst baue ich ihn in einem string zusammen:
content += ''+
'<DIV ID="menuLayer' + countMenus + '" STYLE="position:absolute;left:10;top:' + (i * 100) +';visibility:hidden;">\n' + '  . . uswusf . .  '</DIV>        ';

dann erzeuge ich einen container und füge den content ein:
         container = document.createElement("span");
  container.setAttribute("ID","menuContainer");
  container.data = content;

aber dann beim Zugriff:
container.firstChild has no properties

oder:
container.childNodes[0] has no properties

So jedenfalls im firefox 2.0

ich weiss nicht mehr weiter
hab ich was vergessen?!?

ich weiss durch den IE durch die alte 'document.all' funktion das der eingefügte content korrekt ist
Warum findet firstChild den DIV tag nicht ????

Vielen Dank im voraus für eure hilfe

  1. hi,

    dann erzeuge ich einen container und füge den content ein:
             container = document.createElement("span");
      container.setAttribute("ID","menuContainer");
      container.data = content;

    data: Speichert Zeichendaten eines Knotens, sofern es sich um einen Textknoten handelt.

    aber dann beim Zugriff:
    container.firstChild has no properties

    oder:
    container.childNodes[0] has no properties

    Weder ist span ein Textknoten, noch haben Textknoten Kinder.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hello out there!

    content += ''+
    '<DIV ID="menuLayer' + countMenus + '" STYLE="position:absolute;left:10;top:' + (i * 100) +';visibility:hidden;">\n' + '  . . uswusf . .  '</DIV>        ';

    content wurde vorher schon deklariert?

    dann erzeuge ich einen container und füge den content ein:
             container = document.createElement("span");
      container.setAttribute("ID","menuContainer");

    IIRC hat der IE damit Probleme. Einfach:
    container.id = "menuContainer";

    container.data = content;

    Du willst tatsächlich in ein Inline-Element 'span' ein Blockelement 'div' einfügen? Das ist verboten.

    Dass 'data' falsch ist, hat wahsaga ja schon gesagt. Du suchst 'innerHTML'?

    hab ich was vergessen?!?

    'container' hängst du wo in den Elementbaum?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)