Bagaimana cara menggunakan melanjutkan di jQuery setiap loop ()?


Jawaban:


364

Kita bisa mematahkan satu $(selector).each()loop dan satu $.each()loop pada iterasi tertentu dengan membuat fungsi callback kembali false. Pengembalian non-falsesama dengan pernyataan melanjutkan dalam satu forlingkaran; itu akan langsung melompat ke iterasi berikutnya.

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

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

Perhatikan bahwa $(selector).each()dan $.each()ada berbagai fungsi.

Referensi:


Meskipun benar, ini sepertinya tidak didokumentasikan. Apakah ini fitur 'tidak resmi'?
Michael Scheper

7
Hal ini didokumentasikan di sini api.jquery.com/jquery.each @MichaelScheper
Jayram

1
Itu tempat pertama yang saya lihat, tentu saja. Saya melihatnya sekarang; itu agak hilang di antara semua contoh.
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
Sementara kode ini dapat menjawab pertanyaan, memberikan konteks tambahan tentang mengapa dan / atau bagaimana kode ini menjawab pertanyaan meningkatkan nilai jangka panjangnya.
Ajean

7

Kita dapat memutus loop $ .each () pada iterasi tertentu dengan membuat fungsi callback kembali salah. Mengembalikan non-salah sama dengan pernyataan melanjutkan dalam for for; itu akan langsung melompat ke iterasi berikutnya. - jQuery.each () | Dokumentasi API jQuery


6

return atau return false tidak sama dengan melanjutkan. Jika loop berada di dalam fungsi, sisa fungsi tidak akan dieksekusi seperti yang Anda harapkan dengan "terus" yang sebenarnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.