退出jQuery $.each循环

4

4
请阅读 http://api.jquery.com/jQuery.each/。 - Šime Vidas
-1(在API中有解释,即使有点难找,可以参考前面的评论中的链接) - user166390
@pst 我会给这个问题一个负一分,因为它在 Stack Overflow 上有重复,而不是在其他任何网站上有重复。SO 应该是程序员可以得到任何未重复问题答案的地方。 - treeface
1
无法访问jQuery文档,因为我生活在一个奇怪的国家。请参阅http://en.wikipedia.org/wiki/Golden_Shield_Project ^^ - lovespring
@pst @lovespring - 这正是为什么我们需要尽可能在互联网上复制信息的原因。 - treeface
1
@treeface 理解了。我已经投票关闭了一个完全重复的 :-) @lovespring 那太糟糕了 :( - user166390
3个回答

11

.each()循环内部使用return false来完全退出。返回任何不是false的东西就像continue:它停止当前迭代并直接跳到下一个。

var myArr = [1,2,3,4,5,6,7];
$.each( myArr, function(){
  // Skip on three
  if( this === 3 ) return true;
  // Abort on five
  if( this === 5 ) return false;
  doStuff( this ); // never for 3, 5, 6 or 7
});

5

http://api.jquery.com/jQuery.each/

我们可以通过使回调函数返回false来在特定的迭代中断$.each()循环。返回非false与for循环中的continue语句相同;它将立即跳转到下一次迭代。


3

continuebreak在使用回调函数并由jQuery进行循环时不起相同的作用,但您可以模拟它们:

要执行continue操作,请在.each回调函数中使用return true

要执行break操作,请使用return false


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接