-2

我有这个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();

?

谢谢。

4

1 回答 1

2

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

$(document).ready(function() {
    var test = {
        vars: {
            $mydiv: $('#myDiv')
        },

        HideDiv: function () {
           this.vars.$mydiv.hide();
        }
    }
    // ...
});
于 2013-08-02T15:16:54.193 回答