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 相关文章推荐
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
jquery 选项卡效果 新手代码
Jul 08 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
javascript生成随机数的方法
May 16 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
Nov 08 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
微信小程序实现tab左右切换效果
Nov 15 Javascript
Vuex的热更替如何实现
Jun 05 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
建立动态的WML站点(二)
2006/10/09 PHP
PHP 代码规范小结
2012/03/08 PHP
解析php取整的几种方式
2013/06/25 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
php实现简单四则运算器
2020/11/29 PHP
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
Bootstrap表单布局
2016/07/19 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
Python 文件操作实现代码
2009/10/07 Python
python网络编程实例简析
2014/09/26 Python
通过C++学习Python
2015/01/20 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
Python如何实现动态数组
2019/11/02 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
.net面试题
2015/12/22 面试题
同学聚会主持词
2014/03/18 职场文书
注册资产评估专业求职信
2014/07/16 职场文书