How can I select all elements without a given class in jQuery?
JqueryJquery Problem Overview
Given the following:
<ul id="list">
<li>Item 1</li>
<li class="active">Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
How can I select all but Item 2, AKA something like:
$("ul#list li!active")
Jquery Solutions
Solution 1 - Jquery
You can use the .not()
method or :not()
selector
Code based on your example:
$("ul#list li").not(".active") // not method
$("ul#list li:not(.active)") // not selector
Solution 2 - Jquery
What about $("ul#list li:not(.active)")
?
Solution 3 - Jquery
You could use this to pick all li
elements without class:
$('ul#list li:not([class])')
Solution 4 - Jquery
Refer to the jQuery API documentation: not() selector and not equal selector.
Solution 5 - Jquery
if (!$(row).hasClass("changed")) {
// do your stuff
}