$.map的运用
var arr1 = [0, 3, 5]; var arr2 = $.map(arr1, function (item) { return item * 2 }); alert(arr2); 结果:0 6 10
$.each的运用
普通数组 var arr1 = [0, 3, 5]; $.each(arr1,function (i) { alert(arr1[i]); }); 结果:0,3,5
json对象 var jsonData = {"tom": 20, "jerry": 21 }; $.each(jsonData,function (key, value) { alert(key + "_" + value); }); 结果:tom_20, jerry_21
$.each(jsonData,function (i) { alert(jsonData[i]); }); 结果:20,21
json对象数组($.getJSON里面常用) var jsonArray = [ { "tom": 20, "jerry": 21 }, { "tom": 22,"jerry": 23} ]; $.each(jsonArray,function (i) { alert(jsonArray[i].tom); }); 结果:20,22
看$.getJSON的一处应用: $.getJSON( "stu/stu_toshowStu", {classNum:classNum}, function(json,status) { $.each(json,function(i){ $('#stuDiv').append("<div>学生学号:"+json[i].num+"</div>"); } ); });
jQuery对象可以直接调用each: $("input").each(function(){ $(this).val()........ }); each处理dom元素,此处以一个input表单元素作为例子。
<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,element){
alert(val); alert(i); alert(element.name); alert(element.value); });alert(element)将输出[object HTMLInputElement],是一个表单元素 alert(i);将输出为0,1,2,3 alert(element.name);将输出aaa,bbb,ccc,ddd,若使用this.name将输出同样的结果 alert(element.value);将输出111,222,333,444,若使用this.value将输出同样的结果
$("input:hidden").each(function(i,element){ alert(i); alert(element.name); alert(element.value);
});输出结果相同 当然比如$("input").css()等封装好的操作自动有一个遍历,就不需要手动遍历了。