2016-01-14 112 views
1

我正在使用jQuery並試圖選擇除了一些特定的一個div內的所有項目,但我找不到任何方式來做到這一點。當使用我的網站時,用戶可以通過拖動鼠標進行滾動,但我希望containerTable中的一些元素被排除在外。我想選擇#containerTable和.year中的所有項目,但不是帶有.window類別的項目。排除某些孩子時,選擇一個div與JQuery

我試過過濾器功能,但它沒有工作,我沒有選擇任何項目。

$('#containerTable, .year').filter('.window').on({ 
      'mousemove': function(e) { 
       clicked && updateScrollPos(e); 
       //etc..... 
      }); 

有沒有辦法做到這一點?提前致謝!

回答

0

嘗試在這種情況下使用.not()

$('#containerTable *, .year *').not('.window') 

not將排除與通過選擇相匹配的元素。但filter會過濾出與選擇器匹配的特定元素。

根據您在評論中的新要求,您應該使用事件委派。

$('#containerTable, .year').on("mousemove", '#containerTable *:not(.window), .year *:not(.window)', function(e) { 
    clicked && updateScrollPos(e); 
    //etc..... 
}); 

其中#containerTable.year應該是靜態的。這意味着它必須在綁定事件時可用。

+0

害怕它沒有工作......這個問題可能是我在任何帶有.window類的元素創建之前加載了這個函數? –

+1

@ e.klara.k您可以使用事件委託來解決這個問題。 –