有一段时间我使用jQuery并且不时地看到这个:
$(argument1, argument2).doSomething();
使用第二个参数进行过滤的文档在哪里?
编辑:
我在谈论这种使用方式:
var t=0; // the height of the highest element (after the function runs)
var t_elem; // the highest element (after the function runs)
$("*",elem).each(function () {
$this = $(this);
if ( $this.outerHeight() > t ) {
t_elem=this;
t=$this.outerHeight();
}
});
注意:
$("*",elem)
我不是在谈论
$("a,b,span")
过滤方式。我现在很好。
答案 0 :(得分:6)
这是jQuery()
documentation中的第一个定义:
jQuery( selector [, context ] )
selector
Type: selector
A string containing a selector expression
context
Type: Element, jQuery
A DOM Element, Document, or jQuery to use as context
并进一步向下:
选择器上下文
默认情况下,选择器在DOM中从文档根开始执行搜索。但是,通过使用
$()
函数的可选第二个参数,可以为搜索提供备用上下文。
但是,在内部它只是调用.find
,你会经常发现人们建议使用.find
而不是传递第二个参数。
因此,您的示例等同于$(argument2).find(argument1).doSomething();
答案 1 :(得分:2)
该文档位于jQuery API文档right here.
中双参数语法有三种形式:
$( selector [, context ] )
将选择器范围限定为context
元素的子元素。这是您发布的示例代码中使用的变体。 selector
应用于作为context
节点后代的节点。
还有:
$( html [, ownerDocument ] )
从提供的原始HTML字符串动态创建DOM元素。
最后::
$( html, [, attributes ] )
哪个定义创建一个DOM元素,指定要在新创建的元素上调用的属性,事件和方法。