$('ul',this.el)中"this.el"的含义

use*_*418 14 javascript jquery backbone.js

我正在阅读一些骨干教程,我有一个普遍的jQuery问题,我实际上已经想了一段时间.

有时我会在jQuery选择器中看到带有第二个参数的调用$('ul', this.el).

选择器中第二个参数的目的是什么?我并不是在任何骨干示例的上下文中,一般来说,在选择器中传递第二个参数的目的是什么,为什么它总是传递给那里的对象?我找不到任何关于此的文件.

use*_*716 14

含义与:

$(this.el).find('ul')
Run Code Online (Sandbox Code Playgroud)

在内部,经过一系列的测试,jQuery发现它需要将它翻转到上面的.find()调用,所以它会这样做,然后重新开始.

因此,将上下文作为第二个参数提供只是一种较慢的方法.find().

这是源头.

// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
} else {
    return this.constructor( context ).find( selector );
}
Run Code Online (Sandbox Code Playgroud)

...这里this.constructor$功能,context是你的第二个参数,selector是你的第一个参数.


Sam*_*lan 10

它缩小了ul在视图组件的DOM元素中搜索标记的范围.