代码如下
#big{ width:200px; height:200px; background-color: red; z-index:1000; } #small{ width:100px; height:100px; background-color:blue; } <div id='big'> <div id='small'></div> </div> $('#big').click(function(e){ console.log(e.target.iddaim); })
现在点击small区域的时候是出现‘small’怎么样才能扑捉到父元素的id呢 打印id为big
你big元素本来不就是父元素吗,只是你这里发生了事件冒泡而已。
$('#big').click(function(e){
//既然你绑定的事件就是在父元素身上,那么应该先阻止事件冒泡,绑定在子元素身上加parent()即可
if
(e&&e.stopPropagation)
{
e.stopPropagation();
}
else
{
window.event.cancelBubble=
true
;
}
console.log(e.target.iddaim);
})
感谢
其实这个答案我用的是e.currentTarget.id
$(this).parent()
jq选择器有一个$(this).parent();获取父元素,然后再用父元素.attr('id')获取id
c除了这种jQuery的办法就没有别的办法了?
@小码农雯: 不用jq的话, 用js 也可以,document.getElementById('small').parentNode.id
$("#small").parent().attr("id");
console.log(document.getElementById('small').parentElement.id);
$("this").parent().attr("id");