诺亚方舟

沉淀

JQuery跳出each循环的方法(包含数组遍历)(转)

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 效果

例子代码如下:

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
$(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’)。

代码如下:
?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
function test(){
var success = false;
$(..).each(function () {
   if (..) {
       success = true;
       return false;
   }
});
 return success ;
}

JQuery是对象链,所以$(..).each()返回的还是对象集合。each(function(){}):是回调函数,在回调函数里不能返回结果到回调函数each外面。

文章转自JQuery跳出each循环的方法(包含数组遍历)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>