文字对象中的元素

Elements in literal objects?

本文关键字:元素 对象 文字      更新时间:2023-09-26

我有这个html:

<div id='myDiv'></div>

如果我使用这个javascript:

var test = {
    vars: {
        $mydiv: $('#myDiv')
    },
    HideDiv: function () {
        this.vars.$mydiv.hide();
    }
} 
test.HideDiv();

然后它就失败了。我真的必须这样做吗:

var test = {
    vars: {
        mydiv: '#myDiv'
    },
    HideDiv: function () {
        $(this.vars.mydiv).hide();
    }
} 
test.HideDiv();

谢谢。

加载DOM后需要创建test对象,以便jQuery知道#myDiv存在:

$(document).ready(function() {
    var test = {
        vars: {
            $mydiv: $('#myDiv')
        },
        HideDiv: function () {
           this.vars.$mydiv.hide();
        }
    }
    // ...
});