如何在子参数方法中使用此关键字到达元素?

时间:2014-01-08 13:03:49

标签: javascript jquery

我有一个像这样的对象

function myObject(){
    this.$domElement = $('#apple');
    this.name = 'apple';
    this.color = 'green';
    this.price = '200';

    this.show = function(){
       this.$domElement.show()
    }
}

现在我想为这个对象添加一个新方法,就像这样

this.setCss = {
    position : function(){
        //...
    },

    opacity : function(){
        //...
    },

    border : function(){
        //...
    }
}

现在,我的问题是:如何使用this关键字再次访问我的对象。

我期待的最终代码是这样的。如果可能......

function myObject(){
    this.$domElement = $('#apple');
    this.name = 'apple';
    this.color = 'green';
    this.price = '200';
    this.show = function(){
       this.$domElement.show()
    }
    this.setCss = {
        position : function(){
        //...this.$domElement.css({top:10,left:20})
        },
        opacity : function(){
        //...this.$domElement.css({opacity:.5})
        },
        border : function(){
        //...this.$domElement.css({border:'1px solid red'})
        }
    }
}

1 个答案:

答案 0 :(得分:4)

试试这个

 function myObject(){
   //init
   var me = this;

    this.$domElement = $('#apple');
    this.name = 'apple';
    this.color = 'green';
    this.price = '200';

    this.show = function(){
       //use
       me.$domElement.show()
    }
}

var obj = new myObject();
obj.show();