Como usar continue no jQuery cada loop ()?

Respostas:

364

Podemos quebrar um $(selector).each()loop e um $.each()loop em uma iteração específica, fazendo a função de retorno de chamada retornar false. Retornar non-falseé o mesmo que uma instrução continue em um forloop; ele pulará imediatamente para a próxima iteração.

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

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

Note que $(selector).each()e $.each()são diferentes funções .

Referências:

Jayram
fonte
Embora seja verdade, isso não parece estar documentado. Esse é um recurso 'não oficial'?
Michael Scheper
7
Ele está documentado aqui api.jquery.com/jquery.each @MichaelScheper
Jayram
1
Esse é o primeiro lugar que eu olhei, é claro. Eu vejo agora; meio que se perde entre todos os exemplos.
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
fonte
3
Embora esse código possa responder à pergunta, fornecer um contexto adicional a respeito de por que e / ou como esse código responde à pergunta melhora seu valor a longo prazo.
Ajean
7

Podemos quebrar o loop $ .each () em uma iteração específica, fazendo com que a função de retorno de chamada retorne falsa. Retornar não falso é o mesmo que uma instrução continue em um loop for; ele pulará imediatamente para a próxima iteração. - jQuery.each () | Documentação da API jQuery

Nabil Kadimi
fonte
6

return ou return false não são os mesmos que continue. Se o loop estiver dentro de uma função, o restante da função não será executado como seria de esperar com um verdadeiro "continue".

Billy
fonte