sr4y, wie ich gerade bemerkt habe, ist mein ganzes Beispiel falsch formuliert, hier noch mal das gleiche, bei dem das selber Problem besteht:
var window = function()
{
this.element = document.createElement("div");
document.getElementsByName("body")[0].appendChild(this.element);
this.element.onclick = this.close;this.close = function() { this.element.parentNode.removeChild(this.element); }
}Ich hoffe jetzt ist klar, was ich meine
Uns war das auch klar.
this.element.onclick = this.close;
In deiner Funktion this.close ist jetzt this = this.element also nicht das Objekt dass du mit this ansprechen willst.
Die Zeile:
this.close = function() { this.element.parentNode.removeChild(this.element); }
Bedeutet also:
this.close = function() {
// Hier ist this = this.element
this.element.element.parentNode.removeChild(this.element.element); }
das Element element hat kein Element elment
(tut mir leid, wenn du es so nennst ;-) )
Die Lösung hatte ich dir aber schon gezeigt.
Struppi.
Javascript ist toll (Perl auch!)