Jquery 把每节课都算起来

Jquery 把每节课都算起来,jquery,count,each,Jquery,Count,Each,我试图给每一个。扫描一个新的类,但随着计数的增加 我尝试使用jQuery中的each函数,然后使用$(this),但是$(this)始终只包含类名,因此每个.scan都将被更改 $( ".scan" ).each(function() { i = 0; $(this).addClass( "count"+i ); i++; }); 结果是 <div class="scan count0"></div> <div class="scan co

我试图给每一个。扫描一个新的类,但随着计数的增加

我尝试使用jQuery中的each函数,然后使用$(this),但是$(this)始终只包含类名,因此每个.scan都将被更改

$( ".scan" ).each(function() {
    i = 0;
    $(this).addClass( "count"+i );
    i++;
});
结果是

<div class="scan count0"></div>
<div class="scan count0"></div>

但我想要的是

<div class="scan count0"></div>
<div class="scan count1"></div>

以下是我目前的状态


非常感谢每一个提示/帮助。

也就是说,因为i是在每个方法内部定义的。您需要在每个方法外部设置i值:

var i = 0;
$( ".scan" ).each(function() {
   $(this).addClass( "count"+i );
  i++;
});
但是,您可以使用每个函数的默认参数索引来指定递增类后缀:

$(".scan").each(function(i){
  $(this).addClass("count" + i);
});

或者使用
addClass()
方法的回调函数:

$(".scan").addClass(function(i){
  return "count" + i;
});

也就是说,因为i是在每个方法内部定义的。您需要在每个方法外部设置i值:

var i = 0;
$( ".scan" ).each(function() {
   $(this).addClass( "count"+i );
  i++;
});
但是,您可以使用每个函数的默认参数索引来指定递增类后缀:

$(".scan").each(function(i){
  $(this).addClass("count" + i);
});

或者使用
addClass()
方法的回调函数:

$(".scan").addClass(function(i){
  return "count" + i;
});