molily: IE kennt 'object'-Objekt nicht?!

Beitrag lesen

Object.prototype.css = function (property, v) {

»Object.prototype ist verboten!« lautet eine Grundregel. Damit handelst du dir in 99% der Fälle Probleme ein, weil Object bei allen JavaScript-Objekten in der Prototype-Chain drinhängt.

Wie gesagt könntest du HTMLElement bzw. Element erweitern, was aber nicht abwärtskompatibel ist. Von der prototypischen Erweiterung von Elementobjekten haben daher alle großen Frameworks Abstand genommen. Sie gehen einen dieser zwei Wege:

  • Methoden an das ausgewählte Elementobjekt kopieren, wenn man es mit $ auswählt
  • Eine Facade (»Fassade«) implementieren, die das Elementobjekt selbst umschließt (Wrapper-Objekt) und alle Methoden und Eigenschaftszugriffe re-implementiert und ggf. »durchreicht«

Das zweite Prinzip beschreibt dieser Artikel ganz gut:
http://www.dustindiaz.com/roll-out-your-own-interface/
Hier wird ein privater Array mit den Elementen gespeichert, auf dem alle Methoden operieren.

Mathias