3 Fragen zu document.body und DOM
Christian S.
- javascript
0 Cheatah
Hi,
habe 3 Fragen:
1. Frage:
ich frage mich gerade, ob document.body ein verlässliches Objekt ist, d.h. ob es vielleich standard ist oder es jeder moderne Browser kennt!?
Oder sollte ich lieber den body so bekommen:
document.getElementsByTagName("body")[0]
das sollte ja auf jeden Fall gehen.
2. Frage:
wenn ich ein Element per document.createElement erzeuge. Wird dann IMMER auch das style Objekt mit erzeugt. Ich kann zwar direkt nach dem Erzeugen auf das style objekt zugreifen (mit FF) und zb. sagen obj.style.backgroundColor = ...
aber eigentlich hätte ich gedacht man müsse erst noch das style objekt zuweisen, da es sonst so eine null-Exception gibt.
3. Frage:
macht
var img = new Image();
und
var img = document.createElement("img");
dasselbe?
zumindest kann ich auch ersteres mit DOM Methoden in ein anderes Objekt einhängen. Ich sehe da keinen Unterschied, aber vielleicht gibts ja doch einen..?!
Vielen Danke,
Gruß
Christian
Hi,
ich frage mich gerade, ob document.body ein verlässliches Objekt ist, d.h. ob es vielleich standard ist oder es jeder moderne Browser kennt!?
nein, dieses Objekt ist allenfalls üblich.
wenn ich ein Element per document.createElement erzeuge. Wird dann IMMER auch das style Objekt mit erzeugt.
Die Antwort auf diese Frage ist bereits durch CSS gegeben: Jedes Element verfügt zu jedem Zeitpunkt über jede CSS-Eigenschaft. Da diese bei DOM-Nodes durch eine style-Collection repräsentiert werden, muss sie vorhanden sein.
macht
var img = new Image();
und
var img = document.createElement("img");
dasselbe?
Nein. Ein Image()-Objekt ist ein Objekt, welches Größenangaben aufnehmen kann und dessen übliche Implementierung bewirkt, dass beim Zuweisen einer src-Eigenschaft vom Browser eine Ressource angefordert wird. Ein document.createElement("img") erzeugt eine DOM-Node mit nodeName="img".
zumindest kann ich auch ersteres mit DOM Methoden in ein anderes Objekt einhängen.
Ehrlich? Das hätte ich nicht erwartet, und ich würde mich darauf auch nicht verlassen.
Cheatah
Hi,
zumindest kann ich auch ersteres mit DOM Methoden in ein anderes Objekt einhängen.
Ehrlich? Das hätte ich nicht erwartet, und ich würde mich darauf auch nicht verlassen.
ja... ich kann auch die Breite des Bildes aus einem DOM Objekt rauslesen...
var img = document.createElement("img");
img.src = "img.gif";
alert(img.width);
Gruß
Christian
Hallo Cheatah
ich frage mich gerade, ob document.body ein verlässliches Objekt ist, d.h. ob es vielleich standard ist oder es jeder moderne Browser kennt!?
nein, dieses Objekt ist allenfalls üblich.
Es ist lediglich üblich?
DOM-Level-1 Interface HTMLBodyElement
MSDN Object Model References BODY Element
Auf Wiederlesen
Detlef