2011-04-05 46 views

回答

99

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

$('.fuu:not(.no)') 
+22

一个小花絮:'.fuu:没有(。无)'也是一个有效的CSS3选择器,将匹配在支持':not()'的浏览器上使用相同的元素。因此,我相信jQuery将把这个选择器交给'querySelectorAll()',而不是依靠这些浏览器的[Sizzle](http://sizzlejs.com),从而提高这些浏览器的性能。不是任何人都在乎,当然:) – BoltClock 2011-04-05 03:33:28

+0

从我+1上的漂亮的额外提示,并与迄今为止+8,似乎“一些”开发人员确实关心性能:-) – 2013-10-22 18:06:17

+1

我无法跟随工作:'$(“#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

-6

得到div的类名,如果它在类名称的空间,然后这意味着它有一个以上的类!

+2

如果有''div class =“fuu yes”>'?它没有'no'类,但是它会为'.attr('class')=='fuu''返回false。 – BoltClock 2011-04-05 03:32:36

8

您还可以过滤掉“没有”类的东西,如:

$('.fuu').not('.no'); 
相关问题