我试图给每个.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 /帮助。
答案 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 强>