我在这里有一个清单:
<ul id="orderlist">
<li id="2">
<span class="pull-right value">Ready</span>
<img src="" class="img-responsive"> Filet Mignon
<small>2 servings</small>
<small>Note: No lettuce </small>
</li>
<li id="3">
<span class="pull-right value">In Progress</span>
<img src="" class="img-responsive"> Tarte Tatin
<small>2 servings</small>
</li>
</ul>
我有一个用于点击每个li
的JavaScript:
$("body").on("click", "#orderedlist li", function(e) {
$contextMenu.css({
display: "block",
left: e.pageX,
top: e.pageY
});
oiID = $(e.target).attr('id');
return false;
});
虽然有效,但如果我点击<img>
或li
内的其他元素,它会为undefined
返回oiID
,因为它会获取子元素而不是li
1}}。我如何解决这个问题,即使我点击父级内的元素,li
应该是已识别的元素。
答案 0 :(得分:3)
而不是$(e.target)
使用$(this)
。
oiID = $(this).attr('id');
答案 1 :(得分:2)
您正在使用JQuery,因此请使用$(this):
oiID = $(this).attr('id');
// OR
oiID = $(e.target).attr('id');
if(oiID == '')
oiID = $(e.target).parent().attr('id');