Comment utiliser continue dans jQuery each () loop?

Réponses:

364

Nous pouvons interrompre à la fois une $(selector).each()boucle et une $.each()boucle à une itération particulière en faisant revenir la fonction de rappel false. Le retour non-falseest identique à une instruction continue dans une forboucle; il passera immédiatement à l'itération suivante.

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

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

Notez que $(selector).each()et $.each()sont des fonctions différentes .

Références:

Jayram
la source
Bien que vrai, cela ne semble pas être documenté. Est-ce une fonctionnalité «non officielle»?
Michael Scheper
7
Il est documenté ici api.jquery.com/jquery.each @MichaelScheper
Jayram
1
C'est le premier endroit où j'ai regardé, bien sûr. Je le vois maintenant; il se perd un peu parmi tous les exemples.
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
la source
3
Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant la raison et / ou la manière dont ce code répond à la question améliore sa valeur à long terme.
Ajean
7

Nous pouvons interrompre la boucle $ .each () à une itération particulière en rendant la fonction de rappel false. Le renvoi non-faux est identique à une instruction continue dans une boucle for; il passera immédiatement à l'itération suivante. - jQuery.each () | Documentation de l'API jQuery

Nabil Kadimi
la source
6

return ou return false ne sont pas les mêmes que continuer. Si la boucle est à l'intérieur d'une fonction, le reste de la fonction ne s'exécutera pas comme vous vous y attendriez avec un vrai "continue".

Gamelle
la source