Multiple Parameters for jQuery selector?
JqueryJquery Problem Overview
I was just looking at the jQueryUI button plug-in and noticed this
$("button, input:submit, a", ".demo").button();
I never seen something like this. Is this like multiple selects in one jQuery selector?
Jquery Solutions
Solution 1 - Jquery
The second argument (".demo"
in your example) is the context, basically your selector is restricted to match only descendants of a determined context:
$(expr, context)
Is just equivalent to use the find
method:
$(context).find(expr)
Give a look to the documentation of the jQuery function:
> Selector Context
>
> By default, selectors perform their
> searches within the DOM starting at
> the document root. However, an
> alternate context can be given for the
> search by using the optional second
> parameter to the $()
function. For
> example, if within a callback function
> we wish to do a search for an element,
> we can restrict that search:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
Also notice that the selector you post "button, input:submit, a"
, is called Multiple Selector, and there you can specify any number of selectors to combine into a single result, just by separating them by a comma.
Solution 2 - Jquery
to actually supply multiple different arguments to a jQuery selector though, just give the selector an array with all your arugments, like
$([sel1, sel2, sel3, obj1, obj2, obj3]).on("click", function() {
alert("clicked!");
});