Jochen: Type Error bei Javascript

Sers!
Versuche mich an DOM. Bekomme aber bei hier dem Stückchen Code:

  myElement = document.createElement("div");  
  myElement.setAttribute("id", "Test");  
  //myElement.setAttribute("style", "background-color: #F00; position: absolute; margin-top: 80px; width: 200px;");  
  document.getElementsByTagName("body")[0].appendChild(myElement);

folgende Fehlermeldung:
Zeitstempel: 10.03.2013 23:29:13
Fehler: TypeError: document.getElementsByTagName("body")[0] is null
Zeile: 4

Dabei habe ich eindeutig einen body Tag in meinem HTML Code. Ich bin ja nicht blind O.o Was hat es damit auf sich? Hab schon rumprobiert, aber es tut sich nichs.

Danke für Antwort!

  1. Kleiner Nachtrag: nicht "is null" sondern "is undefined". Danke!

  2. Dabei habe ich eindeutig einen body Tag in meinem HTML Code. Ich bin ja nicht blind O.o Was hat es damit auf sich? Hab schon rumprobiert, aber es tut sich nichs.

    Das Skript steht vermutlich im head des Dokuments, oder? Zu der Zeit ist der DOM-Baum noch nicht fertig aufgebaut. Abhilfe schafft das DOMContentLoaded-Event.

    1. Das Skript steht vermutlich im head des Dokuments, oder? Zu der Zeit ist der DOM-Baum noch nicht fertig aufgebaut. Abhilfe schafft das DOMContentLoaded-Event.

      Ja, steht im header. Werde mir das mit dem Domcontentloaded anschauen. Aber ist das nicht bei alten IE nicht möglich gewesen?

      1. Ja, steht im header. Werde mir das mit dem Domcontentloaded anschauen. Aber ist das nicht bei alten IE nicht möglich gewesen?

        Das ist richtig, dafür lässt sich das load-Event als Fallback benutzen.

        1. Das ist richtig, dafür lässt sich das load-Event als Fallback benutzen.

          Ich danke dir. War genau das was ich gesucht hatte!

          1. Ich danke dir. War genau das was ich gesucht hatte!

            Gerne! Hier noch ein Link, der den Unterschied verdeutlicht.