为什么在对象的一个​​属性中引用jQuery选择器,从同一对象的另一个属性引发错误?

时间:2016-03-04 16:25:02

标签: javascript jquery

如果我在这里记录top属性,我会得到一个对象,但是属性2的属性声明会抛出一个错误,说明该属性是未定义的。为什么是这样?如何将这些选择器存储在对象的顶部,以便我可以在该对象的方法中使用?

objectName = {
        property: $('#element'),
        property2: this.property.children('.filter-class'),

        myFunction: function() {
            var property2 = this.property2;

            property2.on('click', function() {
                property2.addClass(className);
            });
        }
    }

1 个答案:

答案 0 :(得分:0)

指出它应该是:

objectName = {
    property: $('#element'),
    property2: $('#element').children('.filter-class'),

    myFunction: function() {
        var property2 = this.property2;

        property2.on('click', function() {
            property2.addClass(className);
        });
    }
}

当你声明property2 this引用窗口对象而不是objectName