代码改变世界
2011-04-29 10:52
suzh
阅读(1760)
评论()
编辑
收藏
举报
- 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>