35

So I am working on something that wasn't well thought out in the build from the backend team. That leaves me with a document full of divs.

What I am doing is rolling back from the element I need to click on, get the parent container then find an element within the parent which has class="alert-box warn", class="alert-box dead", etc... Essentially, I'm trying to use multiple class selectors on each element. When I try to find just alert-box it doesn't seem to be working right. I'm assuming because it has warn,dead, ``fine, etc...

How can I find just alert-box* or equivalent to a wildcard concept?

Bojangles
  • 96,145
  • 48
  • 166
  • 203
chris
  • 34,442
  • 50
  • 136
  • 244

5 Answers5

69

You can combine selectors like this

$(".alert-box.warn, .alert-box.dead");

Or if you want a wildcard use the attribute-contains selector

$("[class*='alert-box']");

Note: Preferably you would know the element type or tag when using the selectors above. Knowing the tag can make the selector more efficient.

$("div.alert-box.warn, div.alert-box.dead");
$("div[class*='alert-box']");
John Hartsock
  • 82,242
  • 22
  • 125
  • 144
10

You can select elements with multiple classes like so:

$("element.firstClass.anotherClass");

Simply chain the next class onto the first one, without a space (spaces mean "children of").

Bojangles
  • 96,145
  • 48
  • 166
  • 203
5
var divs = $("div[class*='alert-box']");
Igor Dymov
  • 15,840
  • 4
  • 48
  • 54
3

An element can have any number of classNames, however, it can only have one class attribute; only the first one will be read by jQuery.

Using the code you posted, $(".alert-box.warn") will work but $(".alert-box.dead") will not.

Kevin B
  • 94,164
  • 15
  • 164
  • 175
0

you are looking for http://api.jquery.com/hasClass/

<div id="mydiv" class="foo bar"></div>

$('#mydiv').hasClass('foo') //returns ture
isJustMe
  • 5,384
  • 1
  • 29
  • 45
  • 5
    No, he's not - he wants to select elements based on which class they have, not to see whether an element he's got has a class or not. – Bojangles Sep 28 '11 at 18:52