$.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')。
05-12 16:11