jQuery选择器 - 查找没有指定属性的对象

ken*_*der 42 javascript jquery css-selectors

我在页面上有几个对象,我想只在其中一些上使用jQuery执行操作 - 那些没有指定属性的操作.所以:

<li style='...'>some text</li>
<li style='...'>some other text</li>
<li>some very diffrent text</li>
Run Code Online (Sandbox Code Playgroud)

在javascript我会:

$('li[style]').hide();
Run Code Online (Sandbox Code Playgroud)

这将使用stylesttribute 隐藏所有元素.但如果我想隐藏没有它的那些,我的选择器应该如何?

vru*_*erg 77

jQuery("li:not([style])").hide();
Run Code Online (Sandbox Code Playgroud)


Jam*_*low 5

您可以使用:not psuedo-selector来查找与某个选择器匹配的元素.在您的示例中,您要选择没有style属性的所有li元素,因此您将使用以下内容:

$('li:not([style])').hide();
Run Code Online (Sandbox Code Playgroud)

您还可以将其与其他选择器结合使用:

$('#div input:not(:checked)').show();
Run Code Online (Sandbox Code Playgroud)

这是一个非常强大的工具!