Ich möchte ein DOM-Element erweitern, ohne sie alle zu erweitern. Das heißt, ich möchte eine benutzerdefinierte Klasse mit eigenen Methoden und Eigenschaften, aber auch in der Lage sein, sie als div zu behandeln. Z.B.Erweitern eines DOM-Elements mit jQuery
MyClass = function(){
this.foo = "waaa";
}
MyClass.prototype.changeText = function(newtext){
// if this extended $(document.createElement("div")) something
// like this might be possible
this.html(newtext);
}
MyClass.prototype.alertFoo = function(){
alert(this.foo);
}
var m = new MyClass();
$("body").append(m);
m.changetext();
Ist das möglich?
Dies funktioniert auch hervorragend zum Erweitern von Plugins, die Funktionen überschreiben, so dass this.hide eigentlich this.fadeOut ist. Ich benutze __proto__ innerhalb der Klasse und übergebe es das Basis-jquery-Objekt wie folgt: [link] (http://pastebin.com/hFUnqTBQ) – Shanimal