2012-10-30 19 views
10

Sto cercando di ottenere un <div class="clear"></div> da visualizzare dopo ogni terza iterazione di un ciclo for in jquery. So che in PHP può essere realizzato tramite if($i%3 == 0) ma come si fa in jquery/javascript?Jquery per il ciclo di scrittura html dopo ogni terza iterazione del ciclo

Ecco il mio ciclo for:

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]); 
} 

Ora questo funziona solo una volta da quando il ciclo si arriva solo per il numero 3 una volta. Quindi qualsiasi idea su come far funzionare lo stesso concetto di PHP in jquery? Ho visto le altre domande sul wrapping di ogni ennesimo in un div, ma ho solo bisogno di scrivere l'html di un div dopo ciascuno.

Grazie in anticipo.

EDIT:

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

È l'answer..I non sapevo si potesse fare. Grazie!

+0

Perché non si può usare la stessa logica qui? – thatidiotguy

+0

Hai provato cosa hai fatto in PHP con JavaScript? Potresti essere sorpreso. – epascarello

+1

L'operatore del modulo '%' esiste ancora: http://stackoverflow.com/questions/2821006/find-if-variable-is-divisible-by-2 –

risposta

16

Utilizzare invece l'operatore modulo.

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

Ogni volta che non c'è alcun resto, sei divisibile per 3.

Ho incluso lo i && per eliminare la prima iterazione dal 0 % 3 === 0; // true.

+0

Giuro che avevo già provato il metodo php e non work..woops. Grazie! –

+0

Prego. –

1

Utilizzare questo ... proprio come il vostro PHP

if (i % 3 == 0) 
Problemi correlati