¿Cómo usar continuar en jQuery cada bucle ()?

Respuestas:

364

Podemos romper tanto un $(selector).each()bucle como un $.each()bucle en una iteración particular haciendo que la función de devolución de llamada regrese false. Volver non-falsees lo mismo que una declaración de continuación en un forciclo; saltará inmediatamente a la siguiente iteración.

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

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

Tenga en cuenta que $(selector).each()y $.each()son diferentes funciones.

Referencias

Jayram
fuente
Aunque es cierto, esto no parece estar documentado. ¿Es esta una característica 'no oficial'?
Michael Scheper
77
Está documentado aquí api.jquery.com/jquery.each @MichaelScheper
Jayram
1
Ese es el primer lugar que busqué, por supuesto. Ya lo veo; se pierde un poco entre todos los ejemplos.
Michael Scheper el
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
fuente
3
Si bien este código puede responder a la pregunta, proporcionar un contexto adicional con respecto a por qué y / o cómo responde a la pregunta mejora su valor a largo plazo.
Ajean
7

Podemos romper el bucle $ .each () en una iteración particular haciendo que la función de devolución de llamada devuelva falso. Devolver no falso es lo mismo que una instrucción continue en un ciclo for; saltará inmediatamente a la siguiente iteración. - jQuery.each () | Documentación de API jQuery

Nabil Kadimi
fuente
6

return o return false no son lo mismo que continuar. Si el bucle está dentro de una función, el resto de la función no se ejecutará como cabría esperar con un verdadero "continuar".

Porra
fuente