Làm thế nào để sử dụng tiếp tục trong jQuery mỗi vòng lặp ()?


175

Trong ứng dụng của tôi, tôi đang sử dụng cuộc gọi AJAX. Tôi muốn sử dụng breakcontinuetrong vòng lặp jQuery này.

$('.submit').filter(':checked').each(function() {

});


Câu trả lời có thể được tìm thấy ở đây: stackoverflow.com/questions/481601/...
Buchannon

Câu trả lời:


364

Chúng ta có thể phá vỡ cả một $(selector).each()vòng lặp và một $.each()vòng lặp tại một lần lặp cụ thể bằng cách trả về hàm gọi lại false. Trả lại non-falsegiống như một tuyên bố tiếp tục trong một forvòng lặp; nó sẽ bỏ qua ngay lập tức để lặp lại.

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

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

Lưu ý rằng $(selector).each()$.each()các chức năng khác nhau .

Người giới thiệu:


Mặc dù đúng, điều này dường như không được ghi nhận. Đây có phải là một tính năng 'không chính thức'?
Michael Scheper

7
Đây là tài liệu ở đây api.jquery.com/jquery.each @MichaelScheper
Jayram

1
Đó là nơi đầu tiên tôi nhìn, tất nhiên. Tôi thấy nó bây giờ; nó hơi lạc lõng giữa tất cả các ví dụ
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
Mặc dù mã này có thể trả lời câu hỏi, cung cấp ngữ cảnh bổ sung về lý do và / hoặc cách mã này trả lời câu hỏi cải thiện giá trị lâu dài của nó.
Ajean

7

Chúng ta có thể phá vỡ vòng lặp $ .each () tại một lần lặp cụ thể bằng cách làm cho hàm gọi lại trả về sai. Trả về không sai cũng giống như câu lệnh continue trong vòng lặp for; nó sẽ bỏ qua ngay lập tức để lặp lại. - jQuery.each () | Tài liệu API jQuery


6

trả lại hoặc trả lại sai không giống như tiếp tục. Nếu vòng lặp nằm trong một hàm, phần còn lại của hàm sẽ không thực thi như bạn mong đợi với một "tiếp tục" thực sự.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.