How can I use jQuery to select an element only if it doesn't have any classes?
I'm writing a page which allows the html author to override the default jQuery action by adding a class to the element. It should be any class at all.
So the markup might be:
<ul>
<li class="override"></li>
<li></li>
</ul>
I'd like jQuery to only select the second list element because it doesn't have a class.
I've looked at .hasClass(), but it seems to require a specific class name.
Thanks!
:not() Selector – jQuery API
This should do it:
Demo: http://jsfiddle.net/aMC5X/
The first part,
li:not([class])
uses the "not selector" with the "has attribute" to find anyli
elements that don't have theclass
attribute at all.The second part,
li[class=""]
finds anyli
elements that have the attribute set to an empty string.This should do the thing:
$('li').not('li[class]')
You can use this: