2010-12-03 79 views
1

我已经制作了一个动态系统,因此您可以在divs中添加divs divs等。 现在我想知道div的id,当我点击它时。我做了一个这样的脚本: HTML:获取子女的编号

<div id="div1" class="mod"> 
    <div id="div4" class="mod"> 
    <div id="div5" class="mod"></div> 
    </div> 
</div> 
<div id="div2" class="mod"> 
    <div id="div6" class="mod"> 
    <div id="div7" class="mod"></div> 
    </div> 
</div> 

的Jquery:

$('.mod').click(function(){ 
    var id = $(this).attr('id'); 
    alert(id); 
}); 

如果您点击例如在DIV4它将返回div_4和div_1但我只想div_4作为回报。 有人可以帮我吗?我读了一些关于父母和孩子的东西,但我无法弄清楚。 Regards Frank

回答

4

您可以阻止事件的冒泡:

$('.mod').click(function(event){ 
    var id = $(this).attr('id'); 
    alert(id); 
    event.stopPropagation(); 
}); 

的点击事件则只能达到最高层/格。

+0

对于很好的答案,这是我非常感谢你! – Frank 2010-12-03 13:16:43

0

不要将点击事件添加到每个元素。将一个单击事件添加到所有div的容器中,然后使用jquery事件对象获取单击的目标元素。