javascript - 选择除某个类之外的所有元素

标签 javascript jquery

仅当用户单击 .menu_root 时,我才尝试使用 jQuery slideUp() 隐藏 .menu_branch。我没有收到任何错误,但即使单击 .menu_rootclick() 函数也会执行。有任何想法吗? jQuery 或直接 JavaScript 对我来说都很好。谢谢!

HTML:

<span class="menu_root">Menu</span>
<ul class="menu_branch">
    <li><a href="#">Home</a></li>
    <li><a href="#">FAQ</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
</ul>

CSS:

.menu_branch {
    display:block;
}

Jquery:

$("body:not(.menu_root)").click(function(){
    $(".menu_branch").slideUp("fast");
});

我也尝试过:

$("body").not(".menu_root").click(function(){
    $(".menu_branch").slideUp("fast");
});

以及在这两个实例中将 body 替换为 *,所有结果都相同。

最佳答案

一种可能的解决方案是阻止从 menu_root 传播点击事件

$(document).click(function () {
    $(".menu_branch").slideUp("fast");
});
$('.menu_root').click(function (e) {
    e.stopPropagation();
})

演示:Fiddle

您的代码将忽略 body具有类的元素 menu_root喜欢 <body class="menu_root">

关于javascript - 选择除某个类之外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22112761/

相关文章:

php - 在表悬停时从 WordPress 数据库获取数据

javascript - 使用 Jquery Ajax POST 加载 PHP 响应

javascript - 无法使用 Google Analytics 中的 cookie 过滤掉内部流量

javascript - 跟踪Chrome控制台错误-无法加载资源:net::ERR_CONNECTION_CLOSED

javascript - 附加的 anchor 链接在 Safari/iPhone 上无效

javascript - 如何使用 Jquery 修复游戏中自动生成的食物

javascript - 如何将 .PNG 文件转换为可以存储到 mysql 中并通过 CSS 作为 "png"调用的源代码

javascript - Meteor:对文档进行分组并发布对象

javascript - 按钮 onclick 函数在 jquery 中无法正常工作

javascript - 如何访问不同 Controller 的功能? - JavaScript MVC