通过 jquery 的循环方法进行数组遍历,但是当不符合条件时,怎么跳出当前循环?(即用each方法时,当不满足条件时想break跳出循环体,或想continue继续执行下一个循环遍历),我们经常会习惯JS中的break和continue,但是使用之后没有效果,因为在JQuery中没有这两条命令。
each函数不能使用break和continue关键字,替代方法是:
- $('.container').each(function(i){
- if($(this).attr('name')=="continue"){
- return ;//实现continue功能
- }else if($(this).attr('name')=="break"){
- return false;//实现break功能
- }
- })
return false;——跳出所有循环;相当于 javascript 中的 break 效果(跳出 each 循环可使回调函数返回 false,其它返回值将被忽略)
return true;——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue 效果
JQuery each方法跳出循环并获得返回值的方法:
function test(){
var success = false;
$(..).each(function () {
if (..) {
success = true;
return false;
}
});
return success ;
}
JQuery是对象链,所以$(..).each()返回的还是对象集合。each(function(){}):是回调函数,在回调函数里不能返回结果到回调函数each外面。