$.each()和$(selector).each()很阶段似,但它是不一样的。

前者可用于遍历数组或json对象

后者被设计成遍历jQuery对象

第一个是$.each()对,通常这么用

$.each(arr, function(i, v){
// do something
})

当中arr也就是集合,也能够是json对象

而回调函数中的i则是数组的下标(在json中则是相应的key)

而v则是arr[i]的值(在json中则是相应的value)

以下来看一个简单的实例:

var json = {name:"zhu", age:10}
var arr = ['a','b','c','d'] $.each(arr, function(i, v){
alert(i + ":" + v)
});
$.each(json, function(k, v){
alert(k + ":" + v)
});

这样就完毕了对数组和json的遍历。

当然了,如此遍历用原生的js也是能够轻松做到的

比方遍历上面的json或是arr,仅仅须要:

for(var k in json){
alert(k + ":" + arr[k])
}

看起来似乎还是js更简洁一些吧~性能上可能也要好一点

以下介绍$(selector).each()。这种方法在js中就不好找到替代品了。

当中$(selector)负责选中一组jQuery元素,而each函数负责遍历它

比方我们想对一组“li”改变其文字颜色

<style>
.red{
color: red;
}
</style>
<ul>
<li>Dog</li>
<li>Cat</li>
<li>Mouse</li>
</ul>
<input type="button" id="btn">
<script>
$("#btn").click(function() {
$("li").each(function() {
$(this).toggleClass('red');
});
});
</script>

只是实际上,jQuery中存在隐式迭代的现象

每当我们调用选择器方法查找dom树里的元素时,事实上就是把找到的dom元素存入一个jQuery对象里的dom数组中,然后再把这个jQuery对象返回。

而所谓隐式迭代也就是当我们调用jQuery方法时(如 toggleClass(..))。jQuery方法会遍历内部 dom数组。并调用每一个dom元素的相应的dom属性或方法完毕操作。

全部click中的函数并不须要使用each,直接$("li").toggleClass('red')也能够

在$(seletor).each(..)中。this被绑定到了当前遍历的DOM对象,如需获得jQuery对象$(this)就能够了

值得需要注意的是,提前退场遍历时,也可以遍历,只需要return false在上面

版权声明:本文博客原创文章,博客,未经同意,不得转载。

jQuery中间each实施例的方法的更多相关文章

  1. Jquery jqXHR对象的属性和方法

    在 jQuery 1.4 之前(包括1.4),$.ajax() 方法返回的是浏览器原生的 XMLHttpRequest 对象. 从 jQuery 1.5 开始,$.ajax() 方法返回 jQuery ...

  2. jquery数组删除指定元素的方法:grep()

    jquery数组删除指定元素的方法:grep() 金刚 数组 jquery javascript 元素 遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组. 我定义的js数组是这样 ...

  3. JQuery中操作Css样式的方法

    JQuery中操作Css样式的方法//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#tw ...

  4. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  5. jquery里面的名称冲突解决方法

    jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用名为 noConflict( ...

  6. jQuery ajax Load关闭缓存的方法

    [导读] 在jQuery ajax Load关闭缓存的方法很简单,我们只要在$ ajaxSetup中把cache: false就楞以了,当然我们还可以使用一个随机参数来实例了.简单介绍load(url ...

  7. (转载) jQuery 页面加载初始化的方法有3种

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...

  8. 浅析jQuery中常用的元素查找方法总结

    本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下   $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...

  9. jquery文字上下滚动的实现方法

    jquery实现文字上下滚动的方法. 代码: //上下滚动var textRoll=function(){$('#notice p:last').css({'height':'0px','opacit ...

随机推荐

  1. win32 字体变换与窗口同大同小

    #include <windows.h> #include "res/resource.h" LRESULT CALLBACK WinProc(HWND hwnd, U ...

  2. 页面提交错误,页面间参数传递java.lang.NumberFormatException: null

    多次出现这样的错误,在点击一个按钮触发提交整个页面的事件时,总是报错,不止一次出现这样的错误了. 出现这种问题的分析: 1 我们从这个问题的本身来看,java.lang.NumberFormatExc ...

  3. 友情转发一则Erlang招聘广告

    新锐手游开发公司WalkYY,招聘Erlang游戏服务端开发工程师若干名,要求有半年以上Erlang游戏服务端开发经验,熟悉Erlang OTP和MySQL数据库.公司团队靠谱,发展空间大,有意者请发 ...

  4. 嵌入式linux多进程编程

    嵌入式linux多进程编程 在主程序显示文本菜单.提供例如以下服务.要求每一个服务都通过生成子进程来提供. 服务包含:日历信息显示,日期信息显示,推断闰年服务,文件复制功能,数字排序功能.退出功能. ...

  5. c#indexof使用方法

    IndexOf() 查找字串中指定字符或字串首次出现的位置,返首索引值,如: str1.IndexOf("字"): //查找"字"在str1中的索引值(位置) ...

  6. 用Swift开发二维码扫描器教程

    (原文:Building a QR Code Reader in Swift 作者:Simon Ng 译者:xiaoying )我相信大多数人都知道二维码(QR code)是什么,如果你对这个概念还不 ...

  7. javascript (六) 引用外部js文件

    外部的 JavaScript 也可以把脚本保存到外部文件中.外部文件通常包含被多个网页使用的代码. 外部 JavaScript 文件的文件扩展名是 .js. 如需使用外部文件,请在 <scrip ...

  8. Delphi控件的停靠功能

    Delphi自带的许多控件都有停靠功能,而且操作非常简单,大可不必选用第三方控件.        基本上,要进行Dock操作至少需要两个组件,一个人被附着的Dock Site组件,另一个人附在Dock ...

  9. 多图真相:Adobe Dreamweaver CC 2014.1来了-体验卓越PSD提取和诸多精彩云功能!

     作为经典的web开发工具,DW此次版本号更新提供了更加丰富的云功能,是网页开发人员的利器! 直接发多图(来源:zoomla!逐浪CMS UED): watermark/2/text/aHR0cD ...

  10. 《转》Linux下的多线程编程

    原地址:http://linux.chinaunix.net/doc/program/2001-08-11/642.shtml 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程 ...