我正在使用jQuery并试图选择div中的所有项目,除了一些特定的项目,但我找不到任何方法来做到这一点。使用我的网站时,用户可以通过拖动鼠标进行滚动,但我希望containerTable
中的一些元素可以从中排除。我想选择#containerTable
和.year
中的所有项目,而不选择课程.window
中的所有项目。
我尝试了过滤功能,但它没有工作,我没有选择任何项目。
$('#containerTable, .year').filter('.window').on({
'mousemove': function(e) {
clicked && updateScrollPos(e);
//etc.....
});
有没有办法做到这一点?
答案 0 :(得分: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
应该是静态的。这意味着它必须在绑定事件时可用。