JQuery中$.each 和$(selector).each()的区别详解


Posted in Javascript onMarch 13, 2015

一个通用的遍历函数 , 可以用来遍历对象和数组. 数组和含有一个length属性的伪数组对象 (伪数组对象如function的arguments对象)以数字索引进行遍历,从0到length-1, 其它的对象通过的属性进行遍历.

$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作为一个对象—尽管是一个字符串或是一个数字),方法会返回被遍历对象的第一参数。

例子:———传入数组

<!DOCTYPE html>

<html>

<head>

<script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

<body>

<script>

 

$.each([52, 97], function(index, value) {

alert(index + ‘: ‘ + value);

});

 

</script>

</body>

</html>

 

//输出

 

0: 52

1: 97

例子:———如果一个映射作为集合使用,回调函数每次传入一个键-值对

<!DOCTYPE html>

<html>

<head>

<script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

<body>

<script>

 

var map = {

‘flammable': ‘inflammable',

‘duh': ‘no duh'

};

$.each(map, function(key, value) {

alert(key + ‘: ‘ + value);

});

 

</script>

</body>

</html>

 

//输出

 

flammable: inflammable

duh: no duh

例子:———回调函数中 return false时可以退出$.each(), 如果返回一个非false 即会像在for循环中使用continue 一样, 会立即进入下一个遍历

<!DOCTYPE html>

<html>

<head>

  <style>

  div { color:blue; }

  div#five { color:red; }

  </style>

  <script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

 

<body>

  <div id=”one”></div>

  <div id=”two”></div>

  <div id=”three”></div>

  <div id=”four”></div>

  <div id=”five”></div>

<script>

    var arr = [ "one", "two", "three", "four", "five" ];//数组

    var obj = { one:1, two:2, three:3, four:4, five:5 }; // 对象

    jQuery.each(arr, function() {  // this 指定值

      $(“#” + this).text(“Mine is ” + this + “.”);  // this指向为数组的值, 如one, two

       return (this != “three”); // 如果this = three 则退出遍历

   });

    jQuery.each(obj, function(i, val) {  // i 指向键, val指定值

      $(“#” + i).append(document.createTextNode(” ? ” + val));

    });

</script>

</body>

</html>

// 输出

 

Mine is one. ? 1

Mine is two. ? 2

Mine is three. ? 3

- 4

- 5

例子:———遍历数组的项, 传入index和value

<!DOCTYPE html>

<html>

<head>

<script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

<body>

<script>

$.each( ['a','b','c'], function(i, l){

alert( “Index #” + i + “: ” + l );

});

 

</script>

</body>

</html>

例子:———遍历对象的属性,传入 key和value

<!DOCTYPE html>

<html>

<head>

<script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

<body>

<script>

 

$.each( { name: “John”, lang: “JS” }, function(k, v){

alert( “Key: ” + k + “, Value: ” + v );

});

 

</script>

</body>

</html>

正自评论的例子

1. 如果不想输出第一项 (使用retrun true)进入 下一遍历

 

<!DOCTYPE html>

<html>

<head>

<script src=”http://code.jquery.com/jquery-latest.js”></script>

</head>

<body>

<script>

 

var myArray=["skipThis", "dothis", "andThis"];

$.each(myArray, function(index, value) {

if (index == 0) {

return true; // equivalent to ‘continue' with a normal for loop

}

// else do stuff…

alert (index + “: “+ value);

});

 

</script>

</body>

</html>
Javascript 相关文章推荐
jquery BS,dialog控件自适应大小
Jul 06 Javascript
25个非常棒的jQuery滑块插件和教程小结
Sep 02 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
通过length属性判断jquery对象是否存在
Oct 18 Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
jQuery功能函数详解
Feb 01 Javascript
jQuery插件 Jqplot图表实例
Jun 18 Javascript
详解Node.js如何开发命令行工具
Aug 14 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
electron 安装,调试,打包的具体使用
Nov 06 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 #Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
Mar 13 #Javascript
JavaScript中常用的六种互动方法示例
Mar 13 #Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 #Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 #Javascript
DOM操作一些常用的属性汇总
Mar 13 #Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 #Javascript
You might like
PHP进程同步代码实例
2015/02/12 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
Promise扫盲贴
2019/06/24 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
钳工实习自我鉴定
2013/09/19 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
实习生工作证明范本
2014/09/14 职场文书
道德模范事迹材料
2014/12/20 职场文书
三孔导游词
2015/02/05 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
企业安全生产检查制度
2015/08/06 职场文书