如何在 jQuery each() 循环中继续使用?

Posted

技术标签:

【中文标题】如何在 jQuery each() 循环中继续使用?【英文标题】:How to use continue in jQuery each() loop? 【发布时间】:2013-06-14 06:45:11 【问题描述】:

在我的应用程序中,我使用 AJAX 调用。我想在这个 jQuery 循环中使用 breakcontinue

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

);

【问题讨论】:

How to skip to next iteration in jQuery.each() util?的可能重复 答案可以在这里找到:***.com/questions/481601/… 【参考方案1】:

通过使回调函数返回false,我们可以在特定迭代中打破$(selector).each() 循环和$.each() 循环。返回 non-falsefor 循环中的 continue 语句相同;它将立即跳到下一次迭代。

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

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

请注意,$(selector).each()$.each()不同的函数。

参考资料:

$(selector).each() $.each() What is the difference between $.each(selector) and $(selector).each()

【讨论】:

虽然是真的,但这似乎没有记录在案。这是“非官方”功能吗? 这里记录了api.jquery.com/jquery.each@MichaelScheper 当然,这是我看的第一个地方。我现在看到了;它有点迷失在所有的例子中。【参考方案2】:
$('.submit').filter(':checked').each(function() 
    //This is same as 'continue'
    if(something)
        return true;
    
    //This is same as 'break'
    if(something)
        return false;
    
);

【讨论】:

虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。【参考方案3】:

return 或 return false 与 continue 不同。如果循环在函数内部,则函数的其余部分将不会像您期望的那样执行真正的“继续”。

【讨论】:

【参考方案4】:

我们可以在特定的迭代中打破 $.each() 循环,方法是 回调函数返回假。返回非 false 与 a 相同 for 循环中的 continue 语句;它会立即跳到下一个 迭代。 -- jQuery.each() | jQuery API Documentation

【讨论】:

以上是关于如何在 jQuery each() 循环中继续使用?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 在 .ajax 成功时继续下一个循环(.each)

jquery $.each 和for怎么跳出循环终止本次循环

JQuery跳出each循环的方法(包含数组遍历)

在 Ruby 中,如何跳过 .each 循环中的循环,类似于“继续”[重复]

如何在 jQuery / javascript 中使用 each() 进行迭代或循环

如何使用 jQuery 从 .each 循环创建数组