从点击事件中获取正确的元素

时间:2013-08-23 18:03:47

标签: javascript jquery-selectors jquery

我有一个这样的DOM树:

<div class="like-bttn" data-answer-id="{{answer.id}}">
  <div class="count>{{ answer.like_score }}</div>
  <div class="heart>&#10084;</div>
</div>

我有一个javascript代码,当点击了喜欢的时候发出ajax请求:

  $(".like-bttn").click(function(ev) {
    var id = $(ev.target).attr('data-answer-id');
    ... do something with id ...
  })

但是当点击.heart时我的代码不起作用,因为ev.target是.heart而且它没有'data-answer-id'

这种侮辱的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

使用$(this),而不是事件目标:

$(".like-bttn").click(function(ev) {
  var id = $(this).attr('data-answer-id');
   ... do something with id ...
 })

并且,正如Neal指出的那样,使用data更加清晰:

  var id = $(this).data('answerId');