如何摆脱每个循环的jQuery

我如何摆脱jQuery each循环?

我努力了:

  return false; 

在循环中,但这没有奏效。 有任何想法吗?

break $.each循环,必须在循环callback中返回false

返回true跳转到下一个迭代,相当于在正常循环中continue

 $.each(array, function(key, value) { if(value === "foo") { return false; } }); 

根据文档return false; 应该做这个工作。

我们可以通过使callback函数返回false来破坏$ .each()循环[..]。

在callback中返回false:

 function callback(indexInArray, valueOfElement) { var booleanKeepGoing; this; // == valueOfElement (casted to Object) return booleanKeepGoing; // optional, unless false // and want to stop looping } 

顺便说一句, continue工作:

返回非错误与for循环中的continue语句相同; 它会立即跳到下一个迭代。

我为这个问题的答案创build了一个小提琴,因为接受的答案是不正确的,这是Google从这个问题返回的第一个StackOverflow线程。

要打破$ .each,你必须使用return false;

这是一个小提琴certificate它:

http://jsfiddle.net/9XqRy/

我遇到了遇到一个打破循环的情况,但是.each()函数之后的代码仍然执行。 然后,我将一个标志设置为“true”,并在.each()函数后立即检查该标志,以确保后面的代码不被执行。

 $('.groupName').each(function() { if($(this).text() == groupname){ alert('This group already exists'); breakOut = true; return false; } }); if(breakOut) { breakOut = false; return false; } 

“每个”使用callback函数。 callback函数与执行函数无关,所以不可能从callback函数返回到调用函数。

如果必须根据某些条件停止循环执行并保留在相同的函数中,请使用for循环。