返回false不会停止值为1的循环

时间:2018-11-09 02:05:51

标签: javascript jquery loops return each

我有一个遍历动态表的功能,寻找突出显示的单元格。

在以下代码中,两个警报都会触发。当“上一个”为1时,循环应在“返回false”处停止。

如何停止循环?

for (i = 2; i < 5; i++) {
    $("#tablegrid").find("td:nth-child("+i+")").each(function() {
       if ($(this).hasClass("highlighted")) {
         var previous = i-1;

         if (previous===1) {
           alert("loop should now stop");
           return false;
         }

         alert("loop has continued");
       }
     });
}

1 个答案:

答案 0 :(得分:0)

break;循环内使用for,在return false;循环内使用用户each在中间停止。

for (i = 0; i < 10; i++) {
   if (i===5) {
      alert("loop should now stop");
      nextFunction();
      break;
   }         
   alert("loop has continued");
}

function nextFunction(){
    alert("Next Function");
    $('.box').each(function(){
        if($(this).index() == 4){
         alert("loop should now stop");
         anotherFunction();
         return false; 
         
        }
          alert("each has continued");
    })
    
}

function anotherFunction(){
 alert("another function");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>