簡體   English   中英

與 .find() 相反

[英]Opposite of .find()

.find() 有反義詞嗎?

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

將抓取所有帶有 .myclass 的元素,除了帶有 #myid 的元素。 我知道在這個例子中我可以做$('.myclass[id=myid]') ,但似乎在其他情況下會有所幫助。

謝謝

編輯:

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

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

http://api.jquery.com/not/

嘗試.not() - 它刪除任何與選擇器匹配的元素。

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

如果你想要一個單一的字符串選擇器,那么使用這個:

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

這使用:not()偽類選擇器而不是.not()過濾器函數。

這似乎違反直覺,但這種單一選擇器方法有時可能會更慢,因為通過類獲取元素(不進行過濾)是經過優化的,在這種情況下,它會在選擇器通過時過濾每個元素。

使用.not()的替代方法可以更快,具體取決於匹配.myclass的元素.myclass ,因為通過 ID 查找元素是一個非常快的操作,因此將其從集合中排除是相當快的。

通用的

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

具體的

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

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

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

有關更多用例和示例。

我認為你正在尋找not()

你們都錯了。 Not 與 Find 並不完全相反,因為 Not 不僅搜索當前元素而不搜索后代元素,而 Find() 將搜索后代元素以查看某個條件是否匹配。 Find 的反面是 .Not(:has(...))。

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

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

作為旁注,CSS3 具有原生的:not偽類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM