jQuery选择器的多个参数?
问题描述:
我只是在看jQueryUI的按钮插件,并注意到这jQuery选择器的多个参数?
$("button, input:submit, a", ".demo").button();
我从来没有见过这样的事情。这是否像一个jQuery选择器中的多个选择?
答
第二个参数(".demo"
在你的例子)是上下文,基本上您的选择被限制为仅匹配所确定的上下文的后代:
$(expr, context)
只是相当于使用find
方法:
$(context).find(expr)
给看看到jQuery function的文档:
选择语境
默认情况下,选择器DOM内履行 搜索开始于 文档根。但是,通过使用
$()
函数的可选第二个 参数,可以为 搜索提供 替代上下文。对于 例如,如果一个回调函数 之内,我们希望做一个元素进行搜索, 我们可以限制搜索:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
另请注意,您发布"button, input:submit, a"
选择,被称为Multiple Selector,和您可以指定任意数量的选择器,将它们合并为一个结果,只需用逗号分隔即可。
酷永不知道。当我想限制类似部门的说法,所以它不会搜索整个页面,我只是做了一些像$('#id .class') – chobo2 2010-04-20 03:22:41
这真的是从你以为会看到源代码的东西倒退。我期望第一个参数是超级类,接下来是子类,并将其缩小。呃,好吧。 – light24bulbs 2013-06-03 18:12:04
如果我定义一个上下文,浏览器会更快吗? – andufo 2015-08-03 20:12:05