我想获取执行id
事件的事件元素的父级mousedown
。我使用以下代码:
$(document).on("mousedown",function(e) {
var id1 = $(e.target).closest("div").attr('id');
console.log(id1);
});
此输出始终为undefinded
。我也尝试了这个:
$(document).on("mousedown",function(e) {
var id1 = $(e.target).closest("div");
console.log(id1);
});
这是输出
[div.addmap, prevObject: x.fn.x.init[1], context: div.addmap]
如何获取父元素的id
属性? addmap
是父id
的{{1}}。
答案 0 :(得分:1)
您无法找到父级的原因是您已将事件侦听器绑定到文档本身。如果您以
的形式提供第二个参数$(document).on('mousedown', 'img', function(e){...})
例如,您将事件侦听器绑定到所有<img>
元素。然后单击图像将产生所需的结果。相反,如果'img'
你也可以使用'img,p,span,div'
,如果指定了类型,它会将监听器绑定到所有元素。
如果您不想具体,您当然也可以使用'*'
将其绑定到文档的所有元素。
答案 1 :(得分:0)
$(document).on("mousedown",function(e) {
var id1=$(e.target).parent().attr('id');
console.log(id1);
});
答案 2 :(得分:0)
由于我假设为了在页面的任何地方注册点击并获得最接近的div而故意绑定到文档,以下应该可以解决问题:
我已经接受了Jaromanda X的观察,你似乎在寻找一个父类而不是id({limit: parseInt(Session.get('limit')}
)
JSFiddle:http://jsfiddle.net/j86rn2mh/1/
<强>的jQuery 强>
context: div.addmap
<强> HTML 强>
$(document).on("mousedown", function (e) {
var closestDiv = $(e.target).closest('div');
var closestDivClass = closestDiv.parent().attr('class');
console.log(closestDivClass);
});
<强> CSS 强>
<div class='addMap'>
<div id='targetDiv'>CLICK ME</div>
</div>
答案 3 :(得分:0)
$(function(){
$('#elm').click(function(){
var parentElm = $(this).parent('tagname_or_class_or_id').attr('id');
});
});
尝试这个,它应该工作:)