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:


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

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


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”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.