Jquery 遍历数组之$().each方法与$.each()方法介绍
$().each()
对于这个方法,在dom处理上用的比较多,如果一个html页面上面有多个checkbox,这时用$().each来处理checkbox是比较不错的;
$("input[type='checkbox']").each(function(i){ $(this).attr("checked",true); });
回调函数里面的i在此处代表input集合传递过去的索引(也就是正在遍历的input元素的索引);
但是这段代码只用到了input集合的索引
<head> <title></title> <script src="jquery-1.9.0.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('input:hidden').each(function (index, obj) { alert(obj.name + "..." + obj.value); }); }); </script> </head> <body> <input type="hidden" value="1" name="a"/> <input type="hidden" value="2" name="b"/> <input type="hidden" value="3" name="c"/> </body>
上面这段代码用到了input集合的索引,有用到了input集合的dom对象,可以通过该对象,拿到其对应的属性如:name,value等;
$.each()方法
1. 该方法处理一维数组,代码如下:
$.each(["aaa","bbb","ccc"],function(index,value){ alert(i+"..."+value); });
结果是输出 0...aaa 1...bbb 2...ccc
2.该方法处理二维数组,代码如下:
$(function () { $.each([["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]], function (index, item) { alert(index + "..." + item); //输出0...aaa,bbb,ccc 1...ddd,eee,fff 2...ggg,hhh,iii 这时的index为数组下标,item相当于取这二维数组中的每一个数组 $.each(item, function (index, itemobj) { alert(index + "....." + itemobj); }); }); //输出0...aaa,bbb,ccc 0...aaa 1...bbb 2...cccc 1...ddd,eee,fff 0...ddd 1...eee 2...fff 2...ggg,hhh,iii 0...ggg 1...hhh 2...iii });
3.该方法处理json数组,代码如下:
$(function () { var json = [{ name: "张三", sex: "男" }, { name: "李四", sex: "女" }, { name: "王五", sex: "gay"}]; //自定义一个json数组 $.each(json, function (index, obj) { alert(index + "..." + obj.name+"..."+obj.sex); }); });
json为后台传递过来的json数组,each遍历该数组,index通常为数组里面对象的索引,而obj为当前遍历到的对象