molily: Kann nicht auf "style"-Attribut zugreifen

Beitrag lesen

Hallo,

var image = document.createElement("div");
image.setAttributeNode(document.createAttribute("style"));

Ein style-Attribute brauchst du nicht erzeugen, das Objekt image.style existiert auch so und du kannst darüber die Eigenschaften setzen.

image.appendChild(document.createElement("img"));
image.firstChild.src = "flocke.png";
document.getElementsByTagName("body")[0].appendChild(image);

Du kannst auf das body-Element auch einfach über document.body zugreifen.

this.obj = document.getElementsByTagName("div")[num];
this.obj.style.position = "absolute";

bekomme ich die Fehlermeldung: "this.obj has no properties".

Das Problem ist nicht der Zugriff auf das style-Attribut.

Der Fehler liegt schon in der ersten Zeile, document.getElementsByTagName("div")[num] gibt wahrscheinlich null zurück. Schau dir erst einmal an, was document.getElementsByTagName("div") zurückgibt. Ein NodeList-Objekt, also eine Liste mit Knoten - wieviele Knoten sind darin? Die length-Eigenschaft gibt entsprechende Auskunft.

var knotenliste = document.getElementsByTagName("div");
alert(knotenliste.length + " div-Elemente im Dokument gefunden");

Höchstwahrscheinlich gibt es in der Knotenliste, die document.getElementsByTagName("div") zurückgibt, kein Element mit der Nummer num. Vergleiche num mit der Anzahl der Knoten in der Knotenliste. Beachte, dass das erste Element in der Liste mit dem Index 0 angesprochen wird, das zweite mit dem Index 1 usw.

Mathias