【发布时间】:2010-04-20 01:47:19
【问题描述】:
我只是在看 jQueryUI 按钮插件并注意到这一点
$("button, input:submit, a", ".demo").button();
我从来没有见过这样的事情。这就像一个 jQuery 选择器中的多个选择吗?
【问题讨论】:
标签: jquery
我只是在看 jQueryUI 按钮插件并注意到这一点
$("button, input:submit, a", ".demo").button();
我从来没有见过这样的事情。这就像一个 jQuery 选择器中的多个选择吗?
【问题讨论】:
标签: jquery
第二个参数(在你的例子中是".demo")是context,基本上你的选择器被限制为只匹配一个确定的context的后代:
$(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,您可以在此处指定任意数量的选择器以组合成一个结果,只需用逗号分隔它们即可。
【讨论】:
实际上要为 jQuery 选择器提供多个不同的参数,只需给选择器一个包含所有参数的数组,例如
$([sel1, sel2, sel3, obj1, obj2, obj3]).on("click", function() {
alert("clicked!");
});
【讨论】: