文档章节

jQuery中两种$.each方法拾遗

杨昊亚
 杨昊亚
发布于 2014/07/18 15:42
字数 403
阅读 97
收藏 5

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


本文转载自:http://blog.sina.com.cn/s/blog_593d19f40100pu14.html

共有 人打赏支持
杨昊亚
粉丝 8
博文 43
码字总数 6655
作品 0
海淀
程序员
私信 提问
jQuery对象和DOM对象之间的转换实现

本文主要向大家介绍了jQuery对象和DOM对象之间互相转换的方法,其实转换过程十分简单,一起来看看吧。 在讨论jQuery对象和DOM对象的相互交换之前,先约定好定义变量的风格。如果获取的对象是...

IanSun
2015/03/14
0
1
JQuery的点点滴滴--JQuery对象和DOM对象

一、如何区分JQuery对象和Dom对象呢? 在Javascript中通过getElementById或者getElementbyTagName来获取到的元素节点,就是DOM对象,可以使用Javascript中的方法 JQuery对象时通过JQuery包装...

长平狐
2012/11/28
84
0
js-jQuery对象与dom对象相互转换

核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’)得到的是jquery对象,它不能使用j...

Carl_
2014/08/26
0
0
jquery对象与Dom对象互转方法

jQuery对象转成DOM对象: 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 如:var $v =$...

真座山雕
2012/11/02
0
0
dom对象和jQuery对象的区别

1.jQuery对象和DOM对象 在第一次学习Jquery的时候也许大家都不是很清楚Jquery对象和DOM对象两者之间的关系,下面就解释两点,便于对Jquery和Dom加深理解 DOM对象,即是我们用传统的方法(java...

DockOne
2014/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

a标签点击浏览器下载图片,不打开

网上好多给a标签加download属性的,但都不好使。 <!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Auth......

S三少S
4分钟前
14
0
搭建私有maven仓库并在项目中使用

这是一篇写给女朋友看的教程...前方高能,注意避让~ 1.私有maven仓库的搭建 搭建环境为阿里云ESC服务器,CentOS.确保服务器已经安装Jdk。然后我要手把手教你安装和启动nexus。 Step1:新建一个...

liululee
6分钟前
1
0
js 写文件

//写文件function doSave(value, type, name) {    var blob;    if (typeof window.Blob == "function") {        blob = new Blob([value], {type: type});    }......

重城重楼
16分钟前
1
0
Ubuntu and Apache 搭建 Let's Encrypt SSL Https

本文参考来着来自https://www.howtoing.com/install-free-lets-encrypt-ssl-certificate-for-apache-on-debian-and-ubuntu 感谢作者的分享 本事例环境介绍 ubuntu (Version 16.04.1 LTS) ubu......

罗培海
19分钟前
16
0
如何优雅的使用RabbitMQ

目录 RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种: 1、系统集成,分布式系统的...

编程SHA
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部