难以尝试在选择器的迷你对象中使用.find()和.children

sty*_*ler 1 javascript jquery

我基本上试图摆脱程序js方法,所以试图更多地使用对象.我在我的整个对象中设置了一个对象来缓存选择器和设置变量等,但我似乎遇到了问题.目前我在运行此代码时遇到2个错误,告诉我.length和.children都是未定义的.有人可以解释设置这些的正确方法,以便可以使用jquery方法吗?

JS

var bop = {

        els: {
           // cache selectors ...
            grid: $( '#grid' ),
            box: this.grid.children(),
            box_l: this.box.length,
            start_btn: $( '#start' ),
            counter: $( '#counter' ),
            sequence: 5            
        }
}
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 5

如果您希望这this将引用您使用对象文字构建的构造内对象,那么这就是您的问题.JavaScript无法正常工作.

你可以这样做:

var bop = {
 els: {
   grid: $('#grid'),
   // ...
 }
};

bop.els.box = box.els.grid.children();
// etc
Run Code Online (Sandbox Code Playgroud)

this基准是所有关于函数调用,真正有无关的物体,或者并不像你想象的,如果你有C++/C#/ Java的背景下它.