Возврат false не остановит цикл со значением 1 - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть функция, которая просматривает динамическую таблицу и ищет выделенные ячейки.

В следующем коде оба оповещения срабатывают. Цикл должен остановиться на «return false», когда «previous» равно 1.

Как я могу остановить цикл?

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 голосов
/ 09 ноября 2018

Используйте 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>
...