jQuery:计算数百个元素的点击次数

时间:2014-09-21 13:08:37

标签: javascript jquery html

这是我在SO的第一个问题。基本上我在页面上有大量的元素,我想计算并显示用户点击每个元素的次数。但为此,我需要为每个元素定义变量。 难道没有更简单的方法吗?

对于一个元素:

 var counter = 0;
 $('.container').on("click", function(){
 counter = counter+1;
 $(this).find('.tag').html(counter);
 });

2 个答案:

答案 0 :(得分:5)

您可以存储data,每个元素计算每次点击的次数。

$(function(){
	$('.container').click(function(){
        if ($(this).data('count')) { // already been clicked
            $(this).data('count', $(this).data('count') + 1); // add one
        } else { // first click
            $(this).data('count', 1); // initialize the count
        }
        $(this).html($(this).data('count')); // show it
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div class="container">container</div>
<div class="container">container</div>
<div class="container">container</div>
<div class="container">container</div>
<div class="container">container</div>
<div class="container">container</div>

答案 1 :(得分:0)

尝试为要计算的所有元素设置一个类。

 var counter = 0;
 $('.someClass').on("click", function(){
  counter++;
  $(this).find('.tag').html(counter);
 });