Jquery $('.elem',elem)中逗号后的下一个是什么?

Jquery $('.elem',elem)中逗号后的下一个是什么?,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在使用类似$'.elem',elem,$'.elem',elem.tabs的代码 $.elem用于选择具有该类的元素 但是逗号后面的下一个是什么?它的用途是什么?这是执行搜索的上下文 和我的一样 $(elem).find('.elem') 请参见$'.elem',elem是$elem.find'.elem'。事实上,这就是jQuery在幕后对它所做的。它查找属于elem元素的后代的所有elem类元素 这是一本书。花一个小时从头到尾读一读是值得的。里面有各种各样的有用的东西还不为人所知我并不

我正在使用类似$'.elem',elem,$'.elem',elem.tabs的代码

$.elem用于选择具有该类的元素


但是逗号后面的下一个是什么?它的用途是什么?

这是执行搜索的上下文

和我的一样

$(elem).find('.elem')
请参见

$'.elem',elem是$elem.find'.elem'。事实上,这就是jQuery在幕后对它所做的。它查找属于elem元素的后代的所有elem类元素


这是一本书。花一个小时从头到尾读一读是值得的。里面有各种各样的有用的东西还不为人所知我并不是说这是其中之一[我自己不是它的粉丝,有些人是],只是一般来说,这里面有很多有用的东西。

传递给jQuery函数的第二个参数定义了第一个选择器的范围或上下文

它告诉jQuery在第二个参数中提供的元素中查找具有elem类的所有元素。类为.elem且在elem之外的元素将不会被选择

给定以下HTML:

<div id="included">
    <input/>
    <input/>
</div>
<div id="excluded">
    <input/>
    <input/>
</div>

工作示例:

它是,等价于$elem.find'.elem';我已经使用jQuery将近2年了,但并没有对此给予太多关注+1看起来使用上下文比查找没有任何优势,是真的吗?@对。好吧,我想有些人会指出,这是更少的字符。:-但当我说这就是jQuery在封面下对它所做的事情时,我的意思是:它会检测到您已经完成了$'.elem',elem,并传递到$elem.find'.elem。因此,$'.elem',elem表单只是添加了另一个函数调用,这并不重要。我使用了选择器和.find方法。但是$.elem,elem比.find工作得好。那么find方法是否有用呢?我不确定上下文说明符是否有find不能做的事情。我想find更直观,更容易阅读。
console.log($("input", "#included").length); //2 only those inside included
console.log($("input").length); //4 all inputs