繁体   English   中英

用.on()选择除div及其子元素之外的所有元素

[英]select all but a div with its children with .on()

是的,我知道这是以前问过的,但我找不到我特有的问题的答案。

这真的很接近: jQuery选择除div及其子元素之外的所有元素

但是我想在.on()语句中选择除其子项之外的所有div,像这样(简化)

$('body').on('click', ':not(._project_overlay), :not(._project_overlay *)', globalClickHandler);

我不明白为什么这行不通:-/(我也尝试了上面的每个变体)

这样的事情确实会选择除div及其所有子项之外的所有内容:

$('body').find(':not(._project_overlay *)')

那么为什么在地上将.on()绑定到div的子级?

请帮我 :(

您正在使用多重选择器 ,它与逻辑OR等效:

:not(._project_overlay) OR :not(._project_overlay *)

因此,它最终与._project_overlay及其子代匹配。

您需要使用AND ,因此您只需编写以下代码:

:not(._project_overlay):not(._project_overlay *)

使用:not(._project_overlay, ._project_overlay *)代替,如下所示。

$('body').on('click', ':not(._project_overlay, ._project_overlay *)', globalClickHandler);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM