views:

236

answers:

3

I have several objects on a page and I want to perform an operation using jQuery only on some of them - the ones that don't have a specified attribute. So:

<li style='...'>some text</li>
<li style='...'>some other text</li>
<li>some very diffrent text</li>

and in javascript I would have:

$('li[style]').hide();

that would hide all elements with a style sttribute. But if I want to hide the ones without it, how should my selector look like?

+2  A: 
jQuery("li:not([style])").hide();
vrutberg
+1  A: 

You can use the :not psuedo-selector to look up elements that don't match a certain selector. In your example, you want to select all li elements without the style attribute, so you'd use something like this:

$('li:not([style])').hide();

You can also combine this with other selectors:

$('#div input:not(:checked)').show();

It's a pretty powerful tool!

Jamie Rumbelow
A: 

Try: $('li:not([style])).hide();

markmywords