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简单体验
Jan 10 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
JS实现仿QQ效果的三级竖向菜单
Sep 25 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
JS和Canvas实现图片的预览压缩和上传功能
Mar 30 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
Aug 12 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 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
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
phpfpm的作用和用法
2019/10/10 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python基础之文件读取的讲解
2019/02/16 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
秋季运动会广播稿
2014/02/22 职场文书
团购业务员岗位职责
2014/03/15 职场文书
运动会方阵口号
2014/06/07 职场文书
2014年生产部工作总结
2014/12/17 职场文书
2015年环保局工作总结
2015/05/22 职场文书
元旦主持词开场白
2015/05/29 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers