I know how to get elements with a particular attribute:
$("#para [attr_all]")
But how can I get the elements WITHOUT a particular attribute? I try
$("#para :not([attr_all])")
But it doesn't work. What is the correct way to do this?
Let me give an example:
<div id="para"> <input name="fname" optional="1"> <input name="lname"> <input name="email"> </div>
jQuery:
$("#para [optional]") // give me the fname element $("#para :not([optional])") //give me the fname, lname, email (fname should not appear here)
If your code example is the exact code you're using, I think the problem is an errant space.
$("#para :not([attr_all])")
should be
$("#para:not([attr_all])")
If you leave a space in there, it selects descendants of #para
.
First thing that comes to my mind (maybe sub optimal) :
$('p').filter(function(){ return !$(this).attr('attr_all'); });
However p:not([attr_all])
should work, so I think something else is going on in your code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With