6

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

$(".elem")用于选择具有该类的元素。

但是逗号之后的下一个是什么?它有什么用?

4

3 回答 3

11

$('.elem',elem)$(elem).find('.elem')。事实上,这就是 jQuery 在幕后所做的。它查找所有具有类的元素,这些元素是元素"elem"的后代elem

这在API 文档中有介绍。花一个小时从头到尾阅读它是非常值得的。里面有各种不为人知的有用的东西。:-)(我并不是说这是其中之一[我自己不是它的粉丝,有些人是],只是通常那里有很多有用的东西。)

于 2013-06-06T08:41:30.287 回答
4

这是完成搜索的上下文。

这比

$(elem).find('.elem')

在此处查看文档

于 2013-06-06T08:41:07.077 回答
0

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

elem它告诉 jQuery在第二个参数中提供的元素中查找所有具有类的元素。不会选择类别为.elemoutside of 的元素。elem

给定以下 HTML:

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

这些选择器产生以下输出:

console.log($("input", "#included").length); //2 only those inside included
console.log($("input").length); //4 all inputs

工作示例:http: //jsfiddle.net/LE6eE/

于 2013-06-06T08:43:49.787 回答