0. 前言
也許我們通過 jquery 的循環(huán)方法進行數(shù)組遍歷,但是當(dāng)不符合條件時,怎么跳出當(dāng)前循環(huán)?(即用each方法內(nèi),當(dāng)不滿足條件時想break跳出循環(huán)體,想continue繼續(xù)執(zhí)行下一個循環(huán)遍歷),我們經(jīng)常會習(xí)慣JS中的break何continue,但是使用之后沒有效果,因為在JQuery中沒有這兩條命令,非其關(guān)鍵字。
1. JQuery each循環(huán),要實現(xiàn)javascript的break和continue功能
break ----用return false;
continue --用return ture;
2. JQuery怎么跳出當(dāng)前的each循環(huán)
API 上的說明只有跳出整個循環(huán)(如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。)
return false;——跳出所有循環(huán);相當(dāng)于 javascript 中的 break 效果。
return true;——跳出當(dāng)前循環(huán),進入下一個循環(huán);相當(dāng)于 javascript 中的 continue 效果
例子代碼如下:
$(function (){
$("input[type='text']").each(function (i){
var _val=$(this).val();
alert(_val);
if(_val=='2'){
return false; //跳出循環(huán)
}
})
});
3. JQuery each方法跳出循環(huán)并獲得返回值的方法
return false:將停止循環(huán) (就像在普通的循環(huán)中使用 'break')。
return true:跳至下一個循環(huán)(就像在普通的循環(huán)中使用'continue')。
代碼如下:
function test(){
var success = false;
$(..).each(function () {
if (..) {
success = true;
return false;
}
});
return success ;
}
JQuery是對象鏈,所以$(..).each()返回的還是對象集合。each(function(){}):是回調(diào)函數(shù),在回調(diào)函數(shù)里不能返回結(jié)果到回調(diào)函數(shù)each外面。
原文:http://www.cnblogs.com/fanbi/p/7573947.html
參考:http://www.aijquery.cn/Html/jqueryrumen/73.html