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

时间:2011-09-16 20:47:06

标签: javascript jquery backbone.js

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

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

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

2 个答案:

答案 0 :(得分:14)

含义与:

相同
$(this.el).find('ul')

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

因此,将上下文作为第二个参数提供只是执行.find()的较慢方式。

Here it is in the source.

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

...其中this.constructor$函数,context是你的第二个参数,selector是你的第一个参数。

答案 1 :(得分:10)

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