Div generieren - Fehler ?

quaox

Mitglied
Hallo zusammen,

ich versuche momentan 2 verschachtelte Div Container mittels Java-Script zu generieren.
leider werden sie aber nicht erstellt.

Da ich nun schon seit ner Stunde ohne Erfolg versuche, hab ich gedacht ich hau den Code mal hier rein und schau, ob jemand vieleicht den Fehler findet.

Zur Info: die Div's sollen im <body> geparsed werden....

Code:
function initObject() {	
 var LoadMailMessage = document.createElement("div");
 LoadMailMessage.setAttribute('div','LoadMailMessage');
 
 var MailWindow = document.createElement("div");
 MailWindow.setAttribute('div','MailWindow');
 MailWindow.innerHTML = 'test';

 LoadMailMessage.appendChild(MailWindow);
}


function LoadEvent(func) {	
 window.onload = func;
}

LoadEvent(initObject());

Würd mich über einen Lösungansatz freuen.
 
Hi,

erstens musst Du Deiner LoadEvent-Funktion das Funktionsobjekt übergeben:

Code:
LoadEvent(initObject);

Mit den Klammern wird initObject sofort ausgeführt und die nicht vorhandene Rückgabe an LoadEvent übergeben.

Zweitens solltest Du Dein erstelltes Div LoadMailMessage auch irgendwo einfügen.

Z.B.:
Code:
document.getElementsByTagName("body")[0].appendChild(LoadMailMessage);

;)

LG
 
Ahh Ok,
super danke nun kommt schonmal was.

Code:
function initObject() {	
 var LoadMailMessage = document.createElement("div");
 LoadMailMessage.setAttribute('div','LoadMailMessage');
 
 var MailWindow = document.createElement("div");
 MailWindow.setAttribute('div','MailWindow');
 MailWindow.innerHTML = 'test';
 LoadMailMessage.appendChild(MailWindow);
 
 document.getElementsByTagName("body")[0].appendChild(LoadMailMessage);
}


function LoadEvent(func) {	
 window.onload = func;
}

LoadEvent(initObject);

So sieht nun mein Ergebniss aus.
Nun gehts weiter. Das Div Element soll mittels display:none; nicht angezeigt werden.
Ich greife darauf so zu:

Code:
#LoadMailMessage {
 background:#353535;
 color:#fff;
 display:none;
}

#MailWindow{
  display:none;
}

Aber "Test" wird trotzdem angezeigt. Auch wenn ich mit
Code:
document.getElementById("LoadMailMessage")
drauf zugreifen will, bekomm ich die Fehlermeldung: Fehler: document.getElementById("LoadMailMessage") is null

Hat jemand ne Ahnung woran das liegt ?
 
Soweit läuft alles.

Nun noch eine Frage.
Ich habe nun 3 Funktionen dieser Art und will 3 Divs erzeugen,
Kann es sein, dass ich mir die Knoten immer wieder überschreibe, wenn ich mit
Code:
document.getElementsByTagName("body")[0].insertBefore(LoadMessage);
erzeuge ?

Ich bekomme hier immer nur den Div der zuletzt angeordneten Funktion.
 

Neue Beiträge

Zurück