每个

时间:2016-01-07 14:17:37

标签: jquery count each

我试图给每个.scan一个新课程,但计数越来越多

我试过的是使用jQuery中的每个函数然后使用$(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>

这是我当前状态的Fiddle

非常感谢每个tipp /帮助。

1 个答案:

答案 0 :(得分:5)

即。因为我是在每个方法中定义的。你需要在每个方法之外设置i值:

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

但是,您可以使用每个函数的默认参数索引来给出增量类后缀:

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

<强> Working Demo with .each

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

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

<强> Working Demo with .addClass