2014-05-07 79 views
0

所以我需要做的是在这些的div添加一个div却只有一个:多个div相同名称的改变

<div class="box"></div> 
<div class="box"></div> 
<div class="box"></div> 
<div class="box"></div> 

什么,我希望它变成是

<div class="box box1"></div> 
<div class="box box2"></div> 
<div class="box box3"></div> 

对我来说这很困难的是为每个盒子生成代码的PHP是一个使用foreach的函数。

我的JavaScript在不工作的时刻是:

var k = 1; 
$('div.box').each(function() { 
    $('.box').addClass('box' + k); 
    k = k + 1; 
}); 
+0

为什么输入有4个格,但结果只有3个?哪一个应该被删除? – Barmar

+0

以下是两个正确的答案,请选择一个作为正确的答案,以帮助其他人寻找解决方案。 –

回答

3

你引用的所有元素,你只想引用当前之一。因为this是元素,所以jQuery变得很容易。

变化

$('.box').addClass('box' + k); 

$(this).addClass('box' + k); 
+0

谢谢你的回答。可悲的是同样的问题。 –

+0

结果是

+0

也许它只是简单地说,当PHP仍在生成框时处理JavaScript。如果我将脚本放在脚本的底部,可能会解决它,因此它将处理最后一件事。我会立即尝试并更新。 –

1
$('div.box').each(function(index, el){ 
    $(el).addClass('box' + (++index)); 
}); 
相关问题