• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

DOM Frage

BennyKlotz

Neues Mitglied
Hätte da mal eine Frage zum Verstehen der HTML DOM..
DOM teilt ja ein HTML - File in eine Baumstruktur ein

html ist das root - Element
body, head sind child Elemente von html und somit siblings
usw..

Meine Frage nun:

Quellcode:
HTML:
<!DOCTYPE html>
<html>    
<head>    
     <title>TEST</title>    
</head>
    
      <body>
     <script language="javascript">
        x = document.getElementsByTagName("body");
        xbody = x[0];
         
        document.body.style.backgroundColor = "#0099CC";
        //document.xbody.style.backgroundColor = "#0099CC";
     </script>

    </body>
    </html>

Mittels document.body greife ich auf das Body Element zu und mit .style auf das style Objekt danach setze ich die Eigenschaft backgroundColor auf #0099CC
Meine Frage nun die auskommentierte Zeile greift eigentlich auch auf das Body Element zu aber es funktioniert trotzdem nicht... Wieso?

MFG Benny
 
xbody ist das erste Element der nodeList die man durch getElementsByTagName("body") bekommt, sprich das body Element
 
aso ok... naja das body ist ein DOM element und du versuchst es in eine Variable zu stecken???
Variablen werden so in JS deklariert:
var xbody = .....



Wenn müsste das so aussehen:
var xbody = new Objekt(); <--- jetzt weiß JS es ist ein Objekt
dann
xbody = document.getElementBy......


Aber auch hier ein Hinweis ein DOM Element muss nicht unbediengt sauber in ein Objekt umgewandelt werden können.
Ich habe sowas noch nie gebraucht
icon_biggrin.gif
....
Nutze lieber eigene IDs... falls es darum geht das mehrere Bodys vorhanden sind...
 
Der Fehler lag nicht am var xbody = new "Objekt()"
sondern da ich xbody als document.getElementsByTagName('body')[0]; definiere
und ich dann document.xbody geschrieben habe würde das so aussehen: document.document.xbody und dies kann nicht funktionieren...

Danke nochmals für deine Hilfe.

MFG Benny
 
Zurück
Oben