<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