molily: text in element übertragen

Beitrag lesen

Hallo,

getElementById gibt dir ein Elementknoten zurück. Dieser hat keine document-Eigenschaft.

aufgabe: erklärung für elementknoten suchen...

Siehe auch HTML-Elementobjekte:
http://de.selfhtml.org/javascript/objekte/htmlelemente.htm

document.all.hintergrund.innerHTML = linkList;

Auch wenn es so in SELFHTML steht, innerHTML ist einfach eine Eigenschaft von Elementobjekten, die von sämtlichen Browsern unterstützt wird. Sie ist nicht daran gekoppelt, dass man sich das Elementobjekt über document.all holt. document.all ist veraltet, du kannst ruhig bei document.getElementById bleiben.

document.getElementById('hintergrund').innerHTML = linkList;

addEvent(window,"onload",writeLinks);

Wie sieht deine addEvent-Funktion aus?

ob die zweite variante, das ist was ich benötige kann ich nicht entscheiden...

Entweder das Element hat schon Inhalt und du willst welchen am Ende hinzufügen,
oder das Element ist leer und du willst den Inhalt komplett überschreiben.

Wenn du einfach innerHTML = '…' notierst, so wird der Inhalt komplett überschrieben.

in dem <div> existieren zwei mittels css fixierte img-links

Dann suchst du wohl eher

document.getElementById('hintergrund').insertAdjacentHTML('beforeEnd', linkList);

oder alternativ (was aber nicht so sauber ist):

document.getElementById('hintergrund').innerHTML += linkList;

außerdem soll das innerHTML nicht oder mit zeitverzögerung onload ausgeführt werden hab ich gelesen...

Bei der JS-Programierung muss man generell dafür sorgen, dass zum Zeitpunkt, wo ein Script ausgeführt wird und auf gewisse Elemente im DOM zugegriffen wird, das Dokument schon bis dahin geparst wurde. Das kann man z.B. dadurch garantieren, dass man das Script beim load-Ereignis startet.

das wär dann ein weiteres problem, aber vielleicht reicht ja schon das addEvent um die gewünschte verzögerung zu erzeugen, da writeLinks als "letztes" onload ereignis ausgeführt wird.

Ob der Handler als erster oder letzter ausgeführt wird, dürfte für das Einfügen der Inhalt keinen Unterschied machen, es sei denn, der Handler baut auf den DOM-Änderungen vorheriger Handler auf.

Mathias