在缓存对象文字中的元素时使用find()的语法

Syntax for using find() in caching elements in an object literal

本文关键字:find 语法 元素 对象 缓存 文字      更新时间:2023-09-26

定义$item:的正确语法是什么?

到目前为止,我有:

var Animations = {
    el: {
        $body:      $('html, body'),
        $landing:       $('.landing'),
        $item:      $landing.find($('.item'))
    },
    init: function() { ..etc }
}

我尝试过使用thisAnimations.el.//element//,但无法读取属性。

您不能在对象文字中引用对象文字的成员(因为在您尝试这样做时它还没有完全构造),这里:

$item: $landing.find($('.item'))

$landing未定义。

init()方法中指定给$item

init: function() { 
    this.el.$item = this.el.$landing.find($('.item'));
}

尝试使用这个:

(...)
$item: this.Animations.el.$landing.find($('.item'))
(...)

在初始化之外写入

var Animations = {
    el: {}
};
Animations.el.$body = $('html, body');
Animations.el.$landing = $('.landing');
Animations.el.$item = Animations.el.$landing.find($('.item'));
Animations.init = function() { ..etc }