开发者

jQuery selectors - find objects without specified attribute

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?


jQuery("li:not([style])").hide();


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!


Try:

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


You may find it clearer and more performant to use the .not() method instead of the selector. As an example:

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

This is also what the jQuery devs recommend.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜