jQuery.each()函数用于遍历指定的对象和数组,并以对象的每个属性(或数组的每个成员)作为上下文来遍历执行指定的函数。

  • 语法

静态函数$.each()的语法如下:$.each( object, callback ):Object类型指定需要遍历的对象或数组;Function类型指定的用于循环执行的函数。参数object可以是对象或数组。如果是对象,则遍历该对象的每个属性;如果是数组,则遍历该数组中的每个元素。

jQuery.each()函数将根据每个成员(对象的属性或数组的元素)循环调用函数callback。每次调用函数callback时,jQuery.each()函数都会将callback函数内部的this引用指向当前正在迭代的成员,并为其传入两个参数。第一个参数是当前迭代成员在对象或数组中的索引值(从0开始计数),第二个参数是当前迭代成员(与this的引用相同)。

   jQuery.each()函数还会根据每次调用函数callback的返回值来决定后续动作。如果返回值为false,则停止循环(相当于普通循环中的break);如果返回其他任何值,均表示继续执行下一个循环。

  • 实例

使用jQuery.each()函数迭代对象或数组,jQuery示例代码如下

  1. // 遍历数组元素
    $.each( [1, 2, 3] , function(i, item){
        alert("索引=" + i + "; 元素=" + item);  
    } );
    // 遍历对象属性
    $.each( { name: "张三", age: 18 } , function(property, value){
        alert("属性名=" + property + "; 属性值=" + value);    
    } );
    var array = [];
    array[2] = "Code";
    array[4] = "Player";
    // 会遍历索引为0、1、2、3、4的元素,其中0、1、3的元素是undefined
    $.each( array , function(i, item){
        alert("索引=" + i + "; 元素=" + item);  
    } );
  2.  
  3. jQuery.each()函数同样可以遍历jQuery对象中匹配的元素,以下面这段HTML代码为例:
  1. <div id="n1">
        <div id="n2">
            <ul id="n3">
                <li id="n4">item1</li>
                <li id="n5">item2</li>
                <li id="n6">item3</li>
            </ul>
        </div>  
    </div>
    <form id="demoForm">
        <input name="goods_weight" type="checkbox" value="20">A(20kg)<br>
        <input name="goods_weight" type="checkbox" value="33">B(33kg)<br>
        <input name="goods_weight" type="checkbox" value="36">C(36kg)<br>
        <input name="goods_weight" type="checkbox" value="49">D(49kg)<br>
        <input name="goods_weight" type="checkbox" value="56">E(56kg)<br>
        <input name="goods_weight" type="checkbox" value="78">F(78kg)<br>
        <input id="btnBuy" type="button" value="订购">    
    </form>
  2.  
  3. 现在,我们将所有的<li>元素的innerHTML改为"编号n"(n为1、2、3……)。
  1. $.each( $("ul li"), function(index, element){
        // this === element
        $(element).html( "编号" + (index + 1) );  
    });
    接着,我们注册【订购】按钮的点击事件,用于处理商品订购事务,要求每次订购的商品重量不得超过100kg,否则无法订购并提示相应信息。
  1. $("#btn").click(function(){
        var weight = 0;
        $.each( $("[name=goods_weight]:checked"), function(){
            weight += parseInt(this.value);
            if(weight > 100){
                return false;
            }
        });
        if(weight <= 0){
            alert("没有选择任何商品!");
        }else if(weight > 100){
            alert("一次订购的商品重量不能超过100kg!");
        }else{
            // 订购商品
            alert("订购商品成功!");
        }
    });
  1.  

jquery之---$.each详细的更多相关文章

  1. jquery.cookie用法详细解析,封装的操作cookie的库有jquery.cookie.js

    jquery.cookie用法详细解析 需要注意存入cookie前,对数据进行序列化, 得到后在反序列化: 熟练运用:JSON.stringify();和JSON.parse(): 通常分为如下几个步 ...

  2. (三)Jquery Mobile按钮详细讲解

    Jquery Mobile按钮详细讲解 一.JM按钮说明 按钮如下图所示           1.HTML5中的button      效果:      2. JM中的普通button        ...

  3. JQuery中Ajax详细参数使用案例

    JQuery中Ajax详细参数使用案例 参考文档:http://www.jb51.net/shouce/jquery1.82/ 参考文档:http://jquery.cuishifeng.cn/jQu ...

  4. jquery.cookie用法详细解析

    本篇文章主要是对jquery.cookie的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将 ...

  5. Dom对象和JQuery对象的详细介绍及其区别

    一直搞不清Dom对象和JQuery对象之间的区别,今天好好总结下 1.dom对象(摘抄自百度百科http://baike.baidu.com/link?url=4L8bZ7kW6kE-it4F-1LU ...

  6. 树型权限管理插件:jQuery Tree Multiselect详细使用指南

    1.认识jQuery Tree Multiselect 这个插件允许用户以树型的形式来呈现列表复选框的选择.多用于权限管理中用于分配不同的权限.使用文档,请参考:     https://github ...

  7. jquery datatable的详细用法

    1,首先需要引用下面两个文件 <link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css ...

  8. WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping 异常详细信息: System.InvalidOperationException: WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的

    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping.请添加一个名为 jquery (区分大小写)的 ScriptRes ...

  9. jquery的each()详细介绍

    each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...

  10. jquery.form.js详细讲解

    现在大家在在表单提交的时候都不流行中间页面做跳转(比如发布成功的提示页面),或者说这样做会降低用户体验.所以一般都是采用ajax来提交,能看到这个页面的朋友,想必对ajax提交表单已经是很熟悉了. 如 ...

随机推荐

  1. nodejs 并发控制

    1.用 eventproxy 实现控制并发: var EventProxy = require('eventproxy'); const most = 5;//并发数5 var urllist = [ ...

  2. 浏览器获取WEB服务器时间

    /* * 获取XMLHttpRequest对象 */ function CreateXMLHttpRequest() { var xmlreq = false; if (window.ActiveXO ...

  3. Jmeter基础元件

    测试计划 1.Test Plan (测试计划) 用来描述一个性能测试,包含与本次性能测试所有相关的功能.也就说JMeter创建性能测试的所有内容是于基于一个计划的. 下面看看一个计划下面都有哪些功能模 ...

  4. Robot Framework的安装、更新与卸载

    Robot Framework的安装.更新与卸载 一,安装RF前的准备 一般就三种执行环境 Python, Jython (JVM) 和 IronPython (.NET): 安装python: #T ...

  5. android volley 发送 POST 请求

    Map<String, String> params = new HashMap<String, String>(); params.put("fromUser&qu ...

  6. 《图解http协议》之HTTPs学习笔记

    对于IP协议,并不陌生.TP协议是TCP/IP协议簇中的核心协议,也是TCP/IP的载体.所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输.IP提供不可靠的,无连接的数据传送服务.I ...

  7. jar包读取配置文件

    读取jar包内配置文件: Properties config = new Properties(); InputStream in = this.getClass().getClassLoader() ...

  8. eclipspe导入hibernate的源代码

    看图:

  9. Python基础(6) - 基本语句

    Python print(在Python 3.0中就变成了函数了) print语句是把对象用文本化的形式输出到标准的输出流上. Operation  Interpretation print spam ...

  10. win10中VirtualBox联网设置

    <分享>关于win10操作系统中VirtualBox无法桥接的解决方法 版权声明:本文为博主原创文章,未经博主允许不得转载. 升级win10,本来是一件很好的事,想好好体验一下新版本的感觉 ...