我正在阅读一些骨干教程,我有一个普遍的jQuery问题,我实际上已经想了一段时间。
有时我会在jQuery选择器中看到带有第二个参数的调用,例如$('ul', this.el)
。
选择器中第二个参数的目的是什么?我并不是在任何骨干示例的上下文中,一般来说,在选择器中传递第二个参数的目的是什么,为什么它总是传递给那里的对象?我找不到任何关于此的文件。
答案 0 :(得分:14)
含义与:
相同$(this.el).find('ul')
在内部,经过一系列测试后,jQuery发现它需要将其翻转到上面的.find()
调用,所以它会这样做,然后重新开始。
因此,将上下文作为第二个参数提供只是执行.find()
的较慢方式。
// 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
标记的范围。