jQuery中两种$.each方法拾遗

1、在$.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文档中提供的例子:
this

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

i即index,n即item。
假设说你使用了无参的callback。也是可使用arguments[0]来代替i,用arguments[1]来代替n。在一般状况下,若是不须要对参数是否有传入而作判断则天然没必要要使用arguments。

2、$("...").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]
});

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

相关文章
相关标签/搜索