这是我在SO的第一个问题。基本上我在页面上有大量的元素,我想计算并显示用户点击每个元素的次数。但为此,我需要为每个元素定义变量。 难道没有更简单的方法吗?
对于一个元素:
var counter = 0;
$('.container').on("click", function(){
counter = counter+1;
$(this).find('.tag').html(counter);
});
答案 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);
});