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 相关文章推荐
js获取网页高度(详细整理)
Dec 28 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
Jan 24 Javascript
DIV始终居中的js代码
Feb 17 Javascript
JavaScript动态添加css样式和script标签
Jul 19 Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
koa-router源码学习小结
Sep 07 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
vue中nextTick用法实例
Sep 11 Javascript
JavaScript中的null和undefined用法解析
Sep 30 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
PHP重定向的3种方式
2013/03/07 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
Python短信轰炸的代码
2020/03/25 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
如何保障Web服务器安全
2014/05/05 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
干部行政关系介绍信
2014/01/17 职场文书
白血病募捐倡议书
2014/05/14 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
合作意向书范本
2019/04/17 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
Python torch.flatten()函数案例详解
2021/08/30 Python