Reputation: 18220
I’ve had a good look and can’t seem to find out how to select all elements matching certain classes in one jQuery selector statement such as this:
$('.myClass', '.myOtherClass').removeClass('theclass');
Any ideas on how to achieve this? The only other option is to do
$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');
But I’m doing this with quite a few classes, so it requires much code.
Upvotes: 225
Views: 200304
Reputation: 1627
// Due to this Code ): Syntax problem.
$('.myClass', '.myOtherClass').removeClass('theclass');
According to jQuery documentation: https://api.jquery.com/multiple-selector/
When can select multiple classes in this way:
jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.
by enclosing all the selectors in a single '...' ' or double commas, "..."
So in your case the correct way to call multiple classes is:
$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass'); // Correct Code // Is valid.
Upvotes: 0
Reputation: 179119
Have you tried this?
$('.myClass, .myOtherClass').removeClass('theclass');
Upvotes: 26
Reputation: 4589
This should work:
$('.myClass, .myOtherClass').removeClass('theclass');
You must add the multiple selectors all in the first argument to $(), otherwise you are giving jQuery a context in which to search, which is not what you want.
It's the same as you would do in CSS.
Upvotes: 410