Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery: How to select all elements which have an attribute that is not equal to specific value?

How could I select in jQuery all elements that have the my_attr attribute which is not equal to my_value ?

If my_attr is a and my_value is "4", it should work like this:

<span>Hello</span>          => Not selected
<span a="5">Stack</span>    => Selected
<span b="4">Overflow</span> => Not selected
<span a="4">!!</span>       => Not selected
like image 549
Misha Moroshko Avatar asked Dec 29 '10 12:12

Misha Moroshko


1 Answers

To get a "doesn't match", you'd use an attribute not-equals selector with (the other part of the question) as has-attribute selector, like this:

$("span[a][a!='4']")

If you want it to equal, just take out the ! for an attribute-equals selector, like this:

$("span[a][a='5']")

To use a variable, just concatenate, like this:

$("span[" + my_attr + "][" + my_attr + "!='" + my_value + "']")
like image 154
Nick Craver Avatar answered Nov 14 '22 21:11

Nick Craver