jquery的each遍历return只终止当前循环-解决方法

1.很奇怪,一般来说return会终止js,但是今天万万没想到的是,jquery 的each循环中,return不好使,做一记录,

break也不好使.如果不加result,程序会继续执行的,所以加一个全局变量控制

var result = true;
$('input[type="file"][name="fileField"]').each(function(){
    if($(this).val() != "") {
    $.messager.alert('提示:',"请先上传附件","info"); 
    result = false;
    return false;
    }
});
if (result){
    //如果为true再继续执行其它的操作代码
}else{
    return false;
    //否则就直接返回错误
}

  1. jQuery中的each方法不同于js中原生的for循环和while循环,要想跳出each循环也不能直接使用break/continue

each循环中,return false => break;

return true => continue;

也正是因此,在写的js方法中使用each循环,在循环中使用return 不会结束整个函数,要想结束整个函数,只能使用标记 + return false;

你可能感兴趣的:(jquery)