jQuery选择一个具有某个类的div,它没有另一个类

Ale*_*lex 67 javascript css jquery jquery-selectors

<div class="fuu">
  ...
</div>

<div class="fuu no">
  ...
</div>

...
Run Code Online (Sandbox Code Playgroud)

fuu除了那些有.no班级的人之外,我怎么能选择所有的?

Bol*_*ock 128

使用:not()排除其他类:

$('.fuu:not(.no)')
Run Code Online (Sandbox Code Playgroud)

  • 一点点花絮:`.fuu:not(.no)`也是一个有效的CSS3选择器,它将匹配支持`:not()`的浏览器上的相同元素.因此,我相信jQuery会将这个选择器交给`querySelectorAll()`,而不是依赖于[Sizzle](http://sizzlejs.com)这些浏览器,从而提高这些浏览器的性能.当然不是有人关心的:) (26认同)
  • 我无法继续工作:`$("#mydiv .fuu:not(.no)").click(function(){console.log('test');});`.我长时间搜索与`not()`相关的问题,最后只是因为`active`类是动态添加的.我必须这样做:`$("#mydiv").on('click','.fuu:not(.no)',function(){console.log('test');}); `.因为我一直在这里挖掘,认为`不是()`不起作用,我认为这里的评论可能有助于其他人. (2认同)

Joe*_* C. 9

您还可以使用以下内容过滤掉'.no'类:

$('.fuu').not('.no');
Run Code Online (Sandbox Code Playgroud)