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页面添加到收藏夹的简单方法
Aug 07 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
浅析AngularJs HTTP响应拦截器
Dec 28 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
基于jQuery实现仿微博发布框字数提示
Jul 27 Javascript
AngularJS基础 ng-href 指令用法
Aug 01 Javascript
深入理解JavaScript中Ajax
Aug 02 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
jquery实现轮播图特效
Apr 12 jQuery
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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
超级简单的php+mysql留言本源码
2009/11/11 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
layui实现三级联动效果
2019/07/26 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python2中的raw_input() 与 input()
2015/06/12 Python
Python栈类实例分析
2015/06/15 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Python内置函数及功能简介汇总
2020/10/13 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
灰雀教学反思
2014/04/28 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
医院营销工作计划
2015/01/16 职场文书
2016大学军训心得体会
2016/01/11 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技
python三子棋游戏
2022/05/04 Python
Python使用pyecharts控件绘制图表
2022/06/05 Python