Wie verwende ich continue in jQuery each () loop?

Antworten:

364

Wir können brechen sowohl eine $(selector).each()Schleife und eine $.each()Schleife an einer bestimmten Iteration durch die Rückkehr Callback - Funktion machen false. Die Rückgabe entspricht non-falseeiner continue-Anweisung in einer forSchleife. Es wird sofort zur nächsten Iteration gesprungen.

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

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

Beachten Sie, dass $(selector).each()und $.each()sind unterschiedliche Funktionen.

Verweise:

Jayram
quelle
Obwohl dies zutrifft, scheint dies nicht dokumentiert zu sein. Ist das eine "inoffizielle" Funktion?
Michael Scheper
7
Es ist dokumentiert hier api.jquery.com/jquery.each @MichaelScheper
Jayram
1
Das ist natürlich der erste Ort, an dem ich gesucht habe. Ich sehe es jetzt; es geht irgendwie unter all den Beispielen verloren.
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;
    }
});
Suresh Khandekar
quelle
3
Während dieser Code die Frage möglicherweise beantwortet, verbessert die Bereitstellung eines zusätzlichen Kontexts darüber, warum und / oder wie dieser Code die Frage beantwortet, ihren langfristigen Wert.
Ajean
7

Wir können die $ .each () - Schleife bei einer bestimmten Iteration unterbrechen, indem wir die Rückruffunktion auf false zurückgeben. Die Rückgabe von non-false entspricht einer continue-Anweisung in einer for-Schleife. Es wird sofort zur nächsten Iteration gesprungen. - jQuery.each () | jQuery API-Dokumentation

Nabil Kadimi
quelle
6

return oder return false sind nicht dasselbe wie continue. Befindet sich die Schleife innerhalb einer Funktion, wird der Rest der Funktion nicht wie erwartet mit einem echten "Fortsetzen" ausgeführt.

Billy
quelle