0

オブジェクトがある場合:

 function myClass(id) {
   this.em = document.getElementById(id);
   this.html = function(data) {
     this.em.html = data;
   }
 }

今私はすることができます:

  var em = new MyClass("id");
  em.html("NEW HTML HERE");

私は欲しい :

em.html = "NEW HTML HERE";

出来ますか?

4

1 に答える 1

3

setHTML5では、プロパティにメソッドを定義できますhtml(を参照defineProperty()) 。

function myClass(id) {
    this.em = document.getElementById(id);    

    Object.defineProperty(this, 'html', {
        set: function(val) {
            this.em.html = val;
        }
    });
}

...しかし、これは最新のブラウザでのみ機能します; IE8、Chrome 5、Firefox4。

ここで動作する上記のデモを参照してください。http://jsfiddle.net/sskKc/

于 2012-07-18T09:12:45.437 に答える