0. 前言 也許我們通過 jquery 的迴圈方法進行數組遍歷,但是當不符合條件時,怎麼跳出當前迴圈?(即用each方法內,當不滿足條件時想break跳出迴圈體,想continue繼續執行下一個迴圈遍歷),我們經常會習慣JS中的break何continue,但是使用之後沒有效果,因為在JQuery中 ...
0. 前言
也許我們通過 jquery 的迴圈方法進行數組遍歷,但是當不符合條件時,怎麼跳出當前迴圈?(即用each方法內,當不滿足條件時想break跳出迴圈體,想continue繼續執行下一個迴圈遍歷),我們經常會習慣JS中的break何continue,但是使用之後沒有效果,因為在JQuery中沒有這兩條命令,非其關鍵字。
1. JQuery each迴圈,要實現break和continue的功能
break ----用return false;
continue --用return ture;
2. JQuery怎麼跳出當前的each迴圈
API 上的說明只有跳出整個迴圈(如果需要退出 each 迴圈可使回調函數返回 false,其它返回值將被忽略。)
return false;——跳出所有迴圈;相當於 javascript 中的 break 效果。
return true;——跳出當前迴圈,進入下一個迴圈;相當於 javascript 中的 continue 效果
例子代碼如下:
$(function (){
$("input[type='text']").each(function (i){
var _val=$(this).val();
alert(_val);
if(_val=='2'){
return false; //跳出迴圈
}
})
});
3. JQuery each方法跳出迴圈並獲得返回值的方法
return false:將停止迴圈 (就像在普通的迴圈中使用 'break')。
return true:跳至下一個迴圈(就像在普通的迴圈中使用'continue')。
代碼如下:
function test(){
var success = false;
$(..).each(function () {
if (..) {
success = true;
return false;
}
});
return success ;
}
JQuery是對象鏈,所以$(..).each()返回的還是對象集合。each(function(){}):是回調函數,在回調函數里不能返回結果到回調函數each外面。
文章來自:https://www.cnblogs.com/fanbi/p/7573947.html