How can I select an element with multiple classes in jQuery?

css, html, htmlelements, jquery, jquery-selectors

Solution

If you want to match only elements with both classes (an intersection, like a logical AND), just write the selectors together without spaces in between:

$('.a.b')

The order is not relevant, so you can also swap the classes:

$('.b.a')

So to match a `div` element that has an ID of `a` with classes `b` and `c`, you would write:

$('div#a.b.c')

(In practice, you most likely don't need to get that specific, and an ID or class selector by itself is usually enough: `$('#a')`.)

Problem

I want to select all the elements that have the two classes `a` and `b`. ``` <element class="a b"> ``` So, only the elements that have both classes. When I use `$(".a, .b")` it gives me the union, but I want the intersection.

Original source