如何使用刚才在命名空间内创建的jQuery变量?

时间:2015-09-02 21:36:05

标签: javascript jquery

我创建了一个名称空间来保存变量,以便2个不同的函数可以使用它们。我的第一个变量使用jQuery并且运行正常。第二个尝试使用前一行中建立的变量并失败。这是未定义的。

示例:

varHolder = {
        buildStep4: $('#buildStep4'),
        jetSpan: buildStep4.find('#jetSpan')
    };

有没有办法正确地做到这一点?

2 个答案:

答案 0 :(得分:0)

在有效的HTML文档中不能复制ID,因此向id选择器提供上下文没有任何意义,您只需执行

jetSpan: $('#jetSpan')

答案 1 :(得分:0)

您可以捕获该值,但使用一个函数来保持其范围,以便在您创建对象后它不存在。

varHolder = (function() {
    var buildStep4 = $('#buildStep4');
    return { 
        buildStep4: buildStep4,
        jetSpan: buildStep4.find('#jetSpan')
    }
})();

您还可以零碎地构建您的对象:

varHolder = {};
varHolder.buildStep4 = $('#buildStep4');
varHolder.jetSpan = varHolder.buildStep4.find('#jetSpan');