jquery中的each

$.each(Array, function(i, value) {       

this;                                    //this指向当前元素      

 i;                                       //i表示Array当前下标      

 value;                                //value表示Array当前元素 

 }); 

each处理一维数组

var arr1 = [ "aaa", "bbb", "ccc" ];      
  $.each(arr1, function(i,val){      
      alert(i);   
      alert(val);
  });   

alert(i)将输出      0,1,2
alert(val)将输出   aaa,bbb,ccc

 each处理二维数组 

var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]      
  $.each(arr, function(i, item){      
      alert(i);   
      alert(item);      
  });  

arr2为一个二维数组,item相当于取这二维数组中的每一个数组。
item[0]相对于取每一个一维数组里的第一个值   
alert(i)将输出为0,1,2,因为这二维数组含有3个数组元素
alert(item)将输出为  ['a', 'aa', 'aaa'],['b', 'bb', 'bbb'],['c', 'cc', 'ccc']

 处理二维数组

var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]      
   $.each(arr, function(i, item){      
        $.each(item,function(j,val){
            alert(j);
            alert(val);
     }); 
});    

 alert(j)将输出为0,1,2,0,1,2,0,1,2

 alert(val)将输出为a,aa,aaa,b,bb,bbb,c,cc,ccc

 each处理json数据

var obj = { one:1, two:2, three:3};      
   each(obj, function(key, val) {      
        alert(key);   
        alert(val);      
   });   

这里alert(key)将输出one two three
alert(val)将输出one,1,two,2,three,3
这边为何key不是数字而是属性呢,因为json格式内是一组无序的属性-值,既然无序,又何来数字呢。
而这个val等同于obj[key]

 处理json数组

var comments=[

                              {name:'xiaoming',msg:'我是好孩子'},

                              {name:'xiaohong',msg:'我喜欢过唱歌'}                         

                              ];

$.each(comments,function(i,val){

                   alert(i);

        alert(val)

                   alert(val.name);

         })

输出结果为:0,[object,objec],xiaoming,1, [object,objec],xiaohong

 ecah处理dom元素

$.each($("input:hidden"), function(i,val){ 

     alert(val);

     alert(i);

     alert(val.name);

     alert(val.value);  

 }); 

那么,alert(val)将输出[object HTMLInputElement],因为它是一个表单元素。  

alert(i)将输出为0,1,2,3

alert(val.name);将输出aaa,bbb,ccc,ddd,如果使用this.name将输出同样的结果

alert(val.value);  将输出111,222,333,444,如果使用this.value将输出同样的结果

 $(selector).each(function(index,element))参数描述

function(index,element) 必需。为每个匹配元素规定运行的函数。
•index - 选择器的 index 位置
•element - 当前的元素(也可使用 "this" 选择器

<img/><img/>jQuery 代码:

$("img").each(function(i){
        this.src = "test" + i + ".jpg";
}); 

结果:[ <img src="test0.jpg" />, <img src="test1.jpg" /> ] 
$("button").click(function(){
      $("li").each(function(){
                alert($(this).text())
      });
}); 

 怎么跳出each

返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。
返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。 
原文地址:https://www.cnblogs.com/zhuiluoyu/p/4686613.html