[英]Opposite of .find()
.find() 有反義詞嗎?
$('.myclass').except('#myid');
將抓取所有帶有 .myclass 的元素,除了帶有 #myid 的元素。 我知道在這個例子中我可以做$('.myclass[id=myid]')
,但似乎在其他情況下會有所幫助。
謝謝
編輯:
感謝您的回復! 看起來我只是錯過了在文檔中看到.not()
和:not()
。
$('.myclass').not('#myid');
嘗試.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.