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 相关文章推荐
鼠标图片振动代码
Jul 06 Javascript
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
关于js datetime的那点事
Nov 15 Javascript
原生JS实现表单checkbook获取已选择的值
Jul 21 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
jQuery中live()方法用法实例
Jan 19 Javascript
JS获取url参数、主域名的方法实例分析
Aug 03 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
react native与webview通信的示例代码
Sep 25 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
js中数组对象去重的两种方法
Jan 18 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 session和cookie使用说明
2010/04/07 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
激活 ActiveX 控件
2006/10/09 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
python中使用while循环的实例
2019/08/05 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
Python grpc超时机制代码示例
2020/09/14 Python
《跨越百年的美丽》教学反思
2014/02/11 职场文书
经典团队口号
2014/06/06 职场文书
运动会口号8字
2014/06/07 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
起诉意见书范文
2015/05/19 职场文书
检察院起诉意见书
2015/05/20 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书