<div class="fuu">
...
</div>
<div class="fuu no">
...
</div>
...
我如何可以选择所有fuu
的除了那有.no
类的吗?jQuery的选择具有一定阶级一个div,不具有其他类
<div class="fuu">
...
</div>
<div class="fuu no">
...
</div>
...
我如何可以选择所有fuu
的除了那有.no
类的吗?jQuery的选择具有一定阶级一个div,不具有其他类
使用:not()
排除其他类:
$('.fuu:not(.no)')
得到div的类名,如果它在类名称的空间,然后这意味着它有一个以上的类!
如果有''div class =“fuu yes”>'?它没有'no'类,但是它会为'.attr('class')=='fuu''返回false。 – BoltClock 2011-04-05 03:32:36
您还可以过滤掉“没有”类的东西,如:
$('.fuu').not('.no');
一个小花絮:'.fuu:没有(。无)'也是一个有效的CSS3选择器,将匹配在支持':not()'的浏览器上使用相同的元素。因此,我相信jQuery将把这个选择器交给'querySelectorAll()',而不是依靠这些浏览器的[Sizzle](http://sizzlejs.com),从而提高这些浏览器的性能。不是任何人都在乎,当然:) – BoltClock 2011-04-05 03:33:28
从我+1上的漂亮的额外提示,并与迄今为止+8,似乎“一些”开发人员确实关心性能:-) – 2013-10-22 18:06:17
我无法跟随工作:'$(“#mydiv .fuu:not(.no)”)。click(function(){console.log('test');});'。我搜索了很长一段时间,发现与not()有关的问题,最后只是因为'active'类是动态添加的。我必须这样做:'(“#”mydiv“)。on('click','.fuu:not(.no)',function(){console.log('test');}); '。由于我在这里不断地挖掘,认为“不()”不起作用,我认为这里的评论可能会帮助其他人。 – fpierrat 2015-11-30 09:47:32