<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="temod_files/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var t = [{a:"1",b:"2"},{a:"3",b:"4"},{a:"5",b:"6"}];
$().ready(function(){
$("#btn").click(function(){
$(t).each(function(){
alert("a="+this.a+" b="+this.b)
});
});
})
</script>
</head>
<body>
<input id="btn" type="button" value="btn"/>
</body>
---------------------------------------------------------------------------------
each的委托类型
$.each=function(object,callback[,args])
遍例object对象或数组,以每一项作为上下文来执行一个方法。
$("*").each=function(callback[,args])
以每一个匹配的元素作为上下文来执行一个方法。
说明
在callback中可以直接使用this指针引用数组或是对象的子元素。
当callback返回false时遍例结束。(就像在普通的循环中使用'break')
执行$("*").each(function(name,object){})就相当于执行$.each($("*"),function(name,object){})。
例子
<ul id="ul_listOne">
<li>rowOne</li>
<li>rowTwe</li>
</ul>
<ul id="ul_listTwo">
<li>rowOne</li>
<li>rowTwe</li>
</ul>
<script type="text/javascript">
$("#ul_listOne li").each(
function(name,object)
{
$(this).html(name+"、"+$(object).html());
}
);
$.each(
$("#ul_listTwo li"),
function(name,object)
{
$(this).html(name+"、"+$(object).html());
}
);
var list=["one", "two"];
$.each(
list,
function (name,object)
{
alert(name+":"+object);
}
);
</script>
参数callback的委托类型
当args不存在:
callback的委托类型为callback(name,object)。
当args存在:
callback的委托类型为callback([arg1[, arg2[, [,.argN]]]]])(注:arg1, arg2, , argN 是由args参数数组对应的参数序列)。
例子
<script type="text/javascript">
var list=["one", "two"];
$.each(
list,
function (name,object)
{
alert(name+":"+object);
}
);
$.each(
list,
function (arg1,arg2,arg3)
{
alert(this+":"+arg1+","+arg2+","+arg3);
},
["a","b","c"]
);
</script>
callback(name,object)方法的name参数
当each的参数object为数组时,传递给name的值是数组中的索引,从零开始。
当each的参数object为对象时,传递给name的值是对象的属性名。
例子
<script type="text/javascript">
var list=["one", "two"];
$.each(
list,
function (name,object)
{
alert(name+":"+object);
}
);
var computer={CPU:"6核",RAM:"6G",HDD:"1T"};
$.each(
computer,
function (name,object)
{
alert(name+":"+object);
}
);
</script>