0

我正在尝试在单击 div 本身时切换父 div。但我想防止子 div 或元素触发该功能。我怎样才能做到这一点?

//javascript (jquery enabled)
function toggle(parent_id) {
  $('.'+parent_id).toggle();
}
<!-- html -->
<div class="parent parent1" onclick="toggle('parent1')">
  <div class="child1"></div>
  <div class="child2"></div>
</div>

<div class="parent parent2" onclick="toggle('parent2')">
  <div class="child1"></div>
  <div class="child2"></div>
</div>

谢谢!

更新:我正在尝试切换特定的 div,因此使用函数来传递特定的父 ID。

IE。如果我单击 parent1,则 parent1 切换;如果我单击 parent2,则 parent2 切换

4

2 回答 2

4

以下应该做的工作:

$(".parent").click(function(e) {
    if (e.target == this) {
        $(this).toggle();
    }
});

演示:http: //jsfiddle.net/Md4U5/

于 2012-09-05T14:38:21.787 回答
0

这很容易,只需扩展@VisioN 的答案,确保所有这些divs 都有一个类parent

$("[class~=parent]").click(function(e) {
    if (e.target == this) {
        $(this).toggle();
    }
});
于 2012-09-05T14:48:56.573 回答