如何打破 jQuery 的each
循环?
我试过了:
return false;
在循环中,但这没有用。有任何想法吗?
更新 9/5/2020
我把return false;
在错误的地方。当我将其放入循环中时,一切正常。
要break
$.each
或$(selector).each
循环,您必须在循环回调中false
返回true
跳到下一个迭代,等效于在正常循环中continue
$.each(array, function(key, value) {
if(value === "foo") {
return false; // breaks
}
});
// or
$(selector).each(function() {
if (condition) {
return false;
}
});
我们可以通过使回调函数返回 false 来破坏 $ .each()循环 [..]。
在回调中返回 false:
function callback(indexInArray, valueOfElement) {
var booleanKeepGoing;
this; // == valueOfElement (casted to Object)
return booleanKeepGoing; // optional, unless false
// and want to stop looping
}
顺便说一句, continue
工作:
返回非 false 与 for 循环中的 continue 语句相同;它将立即跳至下一个迭代。
我为该问题的答案创建了一个提琴(Fiddle),因为接受的答案不正确,这是 Google 针对该问题返回的第一个 StackOverflow 线程。
要突破 $ .each,必须使用return false;
这是一个小提琴证明: