Jak korzystać z continue w jQuery each () pętli?

Odpowiedzi:

364

Możemy przerwać zarówno $(selector).each()pętlę, jak i $.each()pętlę w określonej iteracji, powodując, że funkcja zwrotna powróci false. Zwracanie non-falsejest tym samym, co instrukcja continue w forpętli; przejdzie natychmiast do następnej iteracji.

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

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

Zauważ, że $(selector).each()i $.each()są to różne funkcje.

Bibliografia:

Jayram
źródło
Chociaż to prawda, nie wydaje się, aby to zostało udokumentowane. Czy to jest „nieoficjalna” funkcja?
Michael Scheper
7
Jest to udokumentowane tutaj: api.jquery.com/jquery.each @MichaelScheper
Jayram
1
Oczywiście to pierwsze miejsce, w którym szukałem. Teraz to widzę; to trochę gubi się wśród wszystkich przykładów.
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
źródło
3
Chociaż ten kod może odpowiedzieć na pytanie, zapewnia dodatkowy kontekst dotyczący tego, dlaczego i / lub jak ten kod odpowiada, poprawia jego długoterminową wartość.
Ajean
7

Możemy przerwać pętlę $ .each () w określonej iteracji, powodując, że funkcja zwrotna zwróci wartość false. Zwracanie wartości innej niż fałsz jest tym samym, co instrukcja continue w pętli for; przejdzie natychmiast do następnej iteracji. - jQuery.each () | Dokumentacja jQuery API

Nabil Kadimi
źródło
6

return lub return false nie są tym samym, co continue. Jeśli pętla znajduje się wewnątrz funkcji, pozostała część funkcji nie zostanie wykonana tak, jak można by oczekiwać po prawdziwym „kontynuowaniu”.

Pałka policjanta
źródło