码迷,mamicode.com
首页 > Web开发 > 详细

jQuery中两种$.each方法拾遗

时间:2015-01-26 10:04:58      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

一、在$.each(array, callback)方法中,参数为function(){},一个回调方法,有3种参数形式:
function () { ... }
function(index) { ... }
function (index, item) { ... }

index是指array中每一项的顺序索引,从0开始计数。
item是array中的每一项。
如果未指定item,也是可以使用项的,在callback内部使用this可以获取到item。这是和js的特性有关的,这里的this其实是相关的上下文,只是被设置成了item而已。关于此特性请查看其他相关文章。
由于js的function是不存在重载的,所以实际上根据传入的arguments来判断也是可以的。以下是jQuery 1.4.2文档中提供的例子:

$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});

i即index,n即item。
假设说你使用了无参的callback。也是可以使用arguments[0]来代替i,用arguments[1]来代替n。在通常情况下,如果不需要对参数是否有传入而做判断则自然不必要使用arguments。

二、$("...").each(callback)方法:
事实上,该方法可以当做一个特殊情况的$.each(array, callback)的快捷方法
这里的array被替换作了$("..."),一组jQuery集合。但是要注意的地方是在callback方法内部,传入的item,即this参数,却不是一个jQuery对象,而是一个HtmlDom对象。所以如果要对这里的元素进行操作,比如使用$(this)。e.g.
$("table").each(function(){
    alert(this);     //[Object HTMLTableElement]
    alert($(this));  //[Object Object]
});

三、跳出:
在callback中return false 将停止循环 (break)。
在callback中return true 跳至下一个循环(continue)。

jQuery中两种$.each方法拾遗

标签:

原文地址:http://www.cnblogs.com/yuangel/p/4249452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!