$.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()等封装好的操作自动有一个遍历,就不需要手动遍历了。