jQuery中两种$.each方法拾遗

一、在$.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)。

时间: 2024-10-13 14:45:30

jQuery中两种$.each方法拾遗的相关文章

jquery中html 与 text方法的区别

jquery中html 与 text方法的区别 24 May 2012/in 网站设计和开发 /by Bruce 接鉵jquery的时间并不长,以前都是用直接用js写的,现在发现在jquery这个框架用起来很方便,不但代码量少了,使用也比较简单,对于浏览器的兼容问题也不用担心,在使用的过程中也会遇到一些疑问,在html标签中附加子标签时所用的方法html()与text()的区别. 通常在用jquery写ajax时,都会用到html()这个方法,而不用text()这个方法,他们之间有什么区别呢?

jQuery 中get 和post 方法传值注意事项

用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢? 刚刚做了几个实验,看看下面的代码就清楚了:以下内容需要回复才能看到 jquery_data.php echo "post: ";print_r($_POST);echo

JQuery中each()的使用方法说明

对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用 each(callback) 以每一个匹配的元素作为上下文来执行一个函数. 意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素).而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的

jQuery中处理事件冒泡的方法和取消后续内容的方法

一:事件冒泡的意思是:一个大的容器已经设置了事件,如果这个容器里还包容着一个小的容器也设置了自己的事件,那么因为小容器是在大容器里面的,触发小容器的事件同时也等于触发了大容器的事件,有时这并不是我们想要的结果,我们可以通过能力检测来阻止事件冒泡如: <script type="text/javascript">        $(function () {            $('#da').css('width', '700px').css('height', '30

JQuery的两个each方法的注意点

Jquery官网上两个each用法: http://api.jquery.com/jQuery.each/ http://api.jquery.com/each/ 使用时注意点 <!DOCTYPE html> <html> <head> <title>Untitled Page</title> <script type="text/javascript" src="jquery141.js">&

jQuery中的事件绑定方法

在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知道,不管你用的是(live/ bind / delegate)之中那个方法,最终都是jQuery底层都是调用on方法来完成最终的事件绑定;.unbind(), .die(), .undelegate(),也是一样的都是通过.off()来实现的; 因此从某种角度来讲除了在书写的方便程度及习惯上挑选,不

01JQuery笔记-------------------------DOM和jquery中页面加载方法和顺序

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="jquery-1.8.3.js"></script&g

jquery中两个遍历的方法

1.$.map(array,callback(element,index)) 对于数组array中的每个元素,调用callback()函数,最终返回一个新的数组,原数组不变. 案例: 将一个数组中索引大于3的元素的值翻倍,其余值不变,并返回一个新数组 var arr = [1,2, 4, 6, 3, 7, 8]; var newArr = $.map(arr, function (ele, index) { if (index > 3) { return ele * 2; } else { re

jQuery中attr和prop方法的区别

相比attr,prop是1.6.1才新出来的,两者从中文意思理解,都是获取/设置属性的方法(attributes和properties).只是,window或document中使用.attr()方法在jQuery1.6之前不能正常运行,因为window和document中不能有attributes.prop应运而生了. 之前看网上对比两者的文章,更是列出一个表来区分什么标签下使用prop,什么标签下使用attr,原谅我是懒惰的人,最害怕要背的东西,所以只有自己想想办法了. 既然我们想知道他们两的