我正在尝试
$(this).parent('li').attr('widgetid')
因为当我在以下布局中点击时,我想找到widgetid
<li widgetid="1">
<div class="widgetHeader">
<div class="widgetIcon"></div>
<div class="widgetTitle"></div>
<div class="widgetEdit"></div>
<div class="widgetClose"></div>
</div>
<div class="widgetHeader"></div>
</li>
但是我得到了“未定义”所以我认为我迷失了自己“widgetClose”是我试图做的事情的触发器。
答案 0 :(得分:4)
答案 1 :(得分:1)
您可以将.parents
与event.stopPropagation
$("div").click(function(e){
e.stopPropagation();
alert($(this).parents('li').attr('widgetid'));
});
答案 2 :(得分:1)
您可以使用parents方法,而不是使用带有选择器的父方法(如果直接父级匹配选择器,它只返回一个值),则可以使用parent方法:
$(本)。家长( “利:当量(0)”)。ATTR( “为widgetid”)
parent方法将查看所有祖先元素并返回与选择器匹配的所有元素(在这种情况下,选择器会询问是否找到第一个li)。
答案 3 :(得分:0)
您应该只为所有可点击元素的父级绑定一个单击事件侦听器,然后使用click函数中的event.target来引用所单击的元素。
从那里,您可以使用jQuery <li>
方法找到最接近的.closest()
元素。