Come usare continue in jQuery ogni () loop?


Risposte:


364

Possiamo interrompere sia un $(selector).each()loop che un $.each()loop in una particolare iterazione facendo ritornare la funzione di callback false. Il ritorno non-falseè lo stesso di un'istruzione continue in un forciclo; salterà immediatamente alla successiva iterazione.

return false; // this is equivalent of 'break' for jQuery loop

return;       // this is equivalent of 'continue' for jQuery loop

Si noti che $(selector).each()e $.each()sono diversi funzioni.

Riferimenti:


Sebbene sia vero, questo non sembra essere documentato. È una funzionalità "non ufficiale"?
Michael Scheper,

7
È documentato qui api.jquery.com/jquery.each @MichaelScheper
Jayram

1
Questo è il primo posto in cui ho cercato, ovviamente. Ora lo vedo; si perde un po 'tra tutti gli esempi.
Michael Scheper,

29
$('.submit').filter(':checked').each(function() {
    //This is same as 'continue'
    if(something){
        return true;
    }
    //This is same as 'break'
    if(something){
        return false;
    }
});

3
Mentre questo codice può rispondere alla domanda, fornendo un contesto aggiuntivo riguardo al perché e / o al modo in cui questo codice risponde alla domanda migliora il suo valore a lungo termine.
Ajean,

7

Possiamo interrompere il ciclo $ .each () in una particolare iterazione rendendo la funzione di callback restituita false. Restituire non-false è lo stesso di un'istruzione continue in un ciclo for; salterà immediatamente alla successiva iterazione. - jQuery.each () | Documentazione API jQuery


6

return o return false non sono gli stessi di continue. Se il ciclo è all'interno di una funzione, il resto della funzione non verrà eseguito come ci si aspetterebbe con un vero "continua".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.