2010-04-26 37 views
3

是否有.find的相反()?對面.find的()

$('.myclass').except('#myid');

會抓住與除與#myid元素.myclass所有元素。 我知道我可以在這個例子做$('.myclass[id=myid]'),但好像它會在其他案件有幫助的。

感謝

編輯:

感謝您的答覆!看起來我只是錯過了在文檔中看到.not():not()

+0

我認爲如果將'.lose()'替換爲'.not()',那將會非常棒。 – 2010-04-26 22:32:29

回答

4

嘗試.not() –它消除了選擇器匹配的任何元件。

+0

謝謝!我一定在jQuery文檔中錯過了。 =/ – Ben 2010-04-26 22:25:58

1

通用

$('selector:not(selector)').doStuff() 

具體

$('.myclass:not(#myid)').doStuff() 

我相信這是正確的解決方案。

訪問http://api.jquery.com/not-selector/

更多使用情況和範例。

3

$('.myclass').not('#myid')

3

如果你想要一個字符串選擇,然後使用此:

$('.myClass:not(#myid)') 

此用途:not() pseudo-class selector inst ead的.not()過濾功能。

似乎違反直覺,但這種單個選擇方法可以是在時間慢,因爲越來越經由類元素(不濾波)被優化,它作爲選擇器傳遞在這種情況下每個濾波器的那些。

替代,使用.not()可以更快,這取決於匹配.myclass元件的數量,因爲通過ID尋找一個元件是非常快速操作,因此它不包括從該組是相當快的。

+1

+1表示註釋。 – jholster 2010-04-26 22:33:16

0

是有。您可以使用jQuery的:not選擇器或.not()函數。示例代碼:

$('.something').not('.else') 
$('.something:not(.not-me):not(.neither-me)') 

作爲一個附註,CSS3有native :not pseudo-class

0

你們都錯了。 Not並不嚴格地與Find相反,因爲它不僅搜索當前元素而不搜索後代,而Find()將搜索後代以查看某個標準是否匹配。相反,查找是相反的。不是(:有(...))。

+1

似乎原來的標題可能會引起誤解。那時你不得不原諒我的缺乏經驗。如果您閱讀了其餘的文本,我正在更具體地查找與.filter()相反的功能。 – Ben 2012-04-10 22:52:46