each()

each() 方法规定为每个匹配元素规定运行的函数。

提示:返回 false 可用于及早停止循环。

 

$(selector).each(function(index,element)

var msNo = "T783,T784,T785,T786,T787,T788,T789,T790,T791,T792,T793,T794,T795,T796,T797,T798";
$.get("../../company/index/queryNeWestComLoad?msNo="+msNo+"", function (data) {
jQuery(data).each(function(i,n){
var digit = 0;
if(n.indi_no=="B009"){
digit = 2;
}
$("#"+n.ms_no+"_"+n.indi_no+"").text((parseFloat(n.curr_val)).toFixed(digit));//+Math.random()
});
});

var obj = { one:1, two:2, three:3, four:4};
$.each(obj, function(key, val) {
alert(val);
});
//这个each就有更厉害了,能循环每一个属性

alert(key)将输出one two three
alert(val);输出结果为:1   2  3  4

$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值。

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

<input name="aaa" type="hidden" value="111" />
<input name="bbb" type="hidden" value="222" />
<input name="ccc" type="hidden" value="333" />
<input name="ddd" type="hidden" value="444"/>

$.each($("input:hidden"), function(i,val){
console.log(val);
console.log(i);
console.log(val.name);
console.log(val.value);
})

$("input:hidden").each(function(i,val){
alert(i);
alert(val.name);
alert(val.value);
});

;

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

原文地址:https://www.cnblogs.com/alice-you/p/8204958.html