为了账号安全,请及时绑定邮箱和手机立即绑定

如何突破jQuery的每个循环

如何突破jQuery的每个循环

白猪掌柜的 2019-07-06 13:26:51
如何突破jQuery的每个循环如何突破jQuery?each循环?我试过: return false;在循环中,但这不起作用。有什么想法吗?
查看完整描述

3 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

break a $.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;
  }});


查看完整回答
反对 回复 2019-07-06
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

根据文件return false;应该做好这份工作。

我们可以中断$.each()循环[.]通过使回调函数返回false。

在回调中返回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循环中的连续语句相同;它将立即跳到下一次迭代。


查看完整回答
反对 回复 2019-07-06
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我遇到了这样一种情况:我遇到了一个破坏循环的条件,但是.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;}


查看完整回答
反对 回复 2019-07-06
  • 3 回答
  • 0 关注
  • 369 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信