2017-03-17 7 views
0

その遅い可能性があります。完全に不足していて、愚かですが、クリックされた要素のデータ値とスパン内のカウントを更新しない理由は何ですか?データ数を取得してスパン数に適用するjQueryのクリック機能

// 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>

+0

は答え&/ upvoteをマークすることを忘れないでください。 –

+0

私はそれをマークすることができます前に、特定の/最小量の分でなければならないように、前に私をさせていない知っています。 – James

答えて

1

aリンク内には.countが存在しないためです。あなたは親に行き渡ってそれを解決してから、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; 
}); 
+0

さて、私は文字通りちょうど感謝仲間に気づいた – James

0

キーはあなたのthis.countのと並べているaに参照されていることである。この

$(this).parent().find('.count').html(newCount); 

を試してみてください。

関連する問題