Selecting multiple classes with jQuery

Selecting multiple classes with jQuery

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.

Solutions/Answers:

Solution 1:

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.

Solution 2:

Have you tried this?

$('.myClass, .myOtherClass').removeClass('theclass');

Solution 3:

I use $('.myClass.myOtherClass').removeClass('theclass');

Solution 4:

// 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, “…”

Related:  Javascript - Pausing setInterval()

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.