ditto ditto - 2 months ago 34
Javascript Question

jQuery match part of class with hasClass

I have several div's with "project[0-9]" classes:

<div class="project1"></div>
<div class="project2"></div>
<div class="project3"></div>
<div class="project4"></div>


I want to check if the element has a "project[0-9]" class. I have
.hasClass("project")
but I'm stuck with matching numbers.

Any idea?

Answer

You can use the startswith CSS3 selector to get those divs:

$('div[class^="project"]')

To check one particular element, you'd use .is(), not hasClass:

$el.is('[class^="project"]')

For using the exact /project\d/ regex, you can check out jQuery selector regular expressions or use

/(^|\s)project\d(\s|$)/.test($el.attr("class"))