jquery选择除div和其子元素之外的所有元素 [英] jquery select all elements except a div and its children
本文介绍了jquery选择除div和其子元素之外的所有元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个html / css代码:
I have this html/css code:
<body>
<!-- BEGIN: HEADER AREA -->
<?php require("snippets/header_area.php"); ?>
<!-- END: HEADER AREA -->
<div id = "presentation_area">
<div id = "submenu_area">
<div id = "sliding_menu_area">
</div>
<div id = "tags">
<div id = "1">
<img src = "lang/el/images/1.png" />
</div>
<div id = "2">
<img src = "lang/el/images/2.png" />
</div>
<div id = "3">
<img src = "lang/el/images/3.png" />
</div>
<div id = "4">
<img src = "lang/el/images/4.png" />
</div>
</div>
</div>
</div>
</body>
我试图在用户点击除了 #sub_menu_area
。我使用js的以下部分:
I am trying to trigger a function when the user clicks on everything else except for the #sub_menu_area
. I use the following part of js:
$('*').not('#submenu_area').click(function(){
if(slide == "open"){
$('#sliding_menu_area').toggle(effect);
slide = "close";
}
});
不幸的是,孩子不知怎么被排除在外,点击它切换了很多次。有谁知道如何正确做到吗? :)
Unfortunately the children somehow are not excluded and on click it toggles a lot of times. Does anyone know how to do it properly?! :)
编辑:
所以我需要一个jquery选择器来正确获取:
So what I need is a jquery selector to get properly: on click of all elements of body EXCEPT for #submenu_area and its descendants
.
推荐答案
尝试这样:
$(document).click(function(e) {
if ($(e.target).is('#submenu_area, #submenu_area *')) {
return;
}
if(slide == "open"){
$('#sliding_menu_area').toggle(effect);
slide = "close";
}
});
这篇关于jquery选择除div和其子元素之外的所有元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文