2012-10-30 163 views
10

我想要在jquery的for循環的每第三次迭代後出現<div class="clear"></div>。我知道在PHP中,它可以通過if($i%3 == 0)完成,但如何做到這一點在jQuery/JavaScript?Jquery for循環在循環的每第三次迭代後寫入html

這裏是我的循環:

var data = $.parseJSON(result); 
for(i=0;i<data.length;i++){ 
    if(i/3 == 1){ 
     $('#add_product_preview_area').append('<div class="clear"></div>'); 
    } 
    $('#add_product_preview_area').append(data[i]); 
} 

現在這隻能使用一次,因爲循環將只得到3號一次。那麼關於如何使相同的PHP概念在jQuery中工作的任何想法?我已經看到了關於在div中每隔n次包裝的其他問題,但我只需要在每個div後面寫一個div的html。

在此先感謝。

編輯:

if (i && (i % 3 === 0)) { 

是在answer..I不知道你能做到這一點。謝謝!

+0

爲什麼你不能在這裏使用相同的邏輯? – thatidiotguy

+0

您是否嘗試過使用JavaScript在PHP中進行的操作?你可能會感到驚訝。 – epascarello

+1

'%'模數運算符仍然存在:http://stackoverflow.com/questions/2821006/find-if-variable-is-divisible-by-2 –

回答

16

改爲使用模數運算符。

if (i && (i % 3 === 0)) { ... 

每當沒有餘數時,您可以被3均分。

我包含i &&以消除0 % 3 === 0; // true以來的第一次迭代。

+0

我發誓我已經嘗試了PHP方法,它沒有work..woops。謝謝! –

+0

不客氣。 –

1

使用此...只是喜歡你的PHP

if (i % 3 == 0)