2014-05-07 80 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)); 
}); 
相關問題