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中对数组进行操作的方法
Apr 16 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
js 获取json数组里面数组的长度实例
Oct 31 Javascript
JS Input里添加小图标的两种方法
Nov 11 Javascript
详解webpack babel的配置
Jan 09 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
Jan 20 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
Jun 19 Javascript
js利用拖放实现添加删除
Aug 27 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和ACCESS写聊天室(九)
2006/10/09 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
有关php运算符的知识大全
2011/11/03 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
js实现移动端轮播图
2020/12/21 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
python文件操作相关知识点总结整理
2016/02/22 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
详解python pandas 分组统计的方法
2019/07/30 Python
python递归下载文件夹下所有文件
2019/08/31 Python
Django实现网页分页功能
2019/10/31 Python
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
彻底理解golang中什么是nil
2021/04/29 Golang
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
Promise静态四兄弟实现示例详解
2022/07/07 Javascript
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS