它的晚期很可能是我完全失踪并且是愚蠢的,但任何想法为什么它不更新点击元素的数据值和跨度内的计数?
// simple like count function for demo
$('.action-like').on('click tap', function() {
var currentCount = $(this).data('like-count');
var newCount = currentCount + 1;
$(this).data('like-count', newCount);
$(this).find('.count').html(newCount);
return false;
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p><a href="#" class="btn btn--secondary action-like" data-like-count="1">Like</a> <span class="small"><span class="count">1</span> person likes this</span>
</p>
<p><a href="#" class="btn btn--primary action-like" data-like-count="5">Like</a> <span class="small">You and <span class="count">5</span> other people like this</span>
</p>
&#13;
答案 0 :(得分:1)
这是因为.count
链接中没有a
。您可以通过遍历父级来解决问题,然后执行find
。
像这样:
$('.action-like').on('click tap', function() {
var currentCount = $(this).data('like-count');
var newCount = currentCount + 1;
$(this).data('like-count', newCount);
$(this).parent().find('.count').html(newCount);
return false;
});
答案 1 :(得分:0)
试试这个
$(this).parent().find('.count').html(newCount);
关键是,您的this
引用了a
的{{1}}。