是的,我知道之前有人问过,但我无法找到解决问题的答案。
这非常接近:jquery select all elements except a div and its children
但是我想在.on()语句中选择除了div之外的所有div,就像这样(简化)
$('body').on('click', ':not(._project_overlay), :not(._project_overlay *)', globalClickHandler);
我不知道为什么这不会起作用: - / (我也试过上面的每个变种)
这样的事情确实会选择除了div及其所有孩子之外的一切:
$('body').find(':not(._project_overlay *)')
那么为什么在地球上将.on()绑定到div的孩子身上?
请帮助我:(
答案 0 :(得分:2)
您使用的是multiple selector,相当于逻辑OR
:
:not(._project_overlay) OR :not(._project_overlay *)
因此,它最终匹配._project_overlay
及其后代。
您想要一个AND
,所以您应该简单地写一下:
:not(._project_overlay):not(._project_overlay *)
答案 1 :(得分:1)
使用https:\/\/cmsr-author\.de\/(content|...|...)\/de\.html
代替以下。
:not(._project_overlay, ._project_overlay *)