0

我有一个这样的 DOM 树:

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

单击 like-bttn 时,我有一个 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”

在这种情况下正确的方法是什么?

4

1 回答 1

2

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

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

而且,正如尼尔指出的那样,使用起来更干净data

  var id = $(this).data('answerId');
于 2013-08-23T18:04:45.350 回答