zoukankan      html  css  js  c++  java
  • $.each 和$(selector).each()的差别

    Home » jQuery » $.each()

    $.each()

    译自官方手冊:jQuery.each()

    对数组或对对象内容进行循环处理

    jQuery.each( collection, callback(indexInArray, valueOfElement) )

    collection   遍历的对象或数组

    callback(indexInArray, valueOfElement) 在每个对象上调用的函数

    说明

    一个通用的遍历函数 , 能够用来遍历对象和数组. 数组和含有一个length属性的伪数组对象 (伪数组对象如function的arguments对象)以数字索引进行遍历,从0到length-1, 其他的对象通过的属性进行遍历.

    $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历不论什么的集合(不管是数组或对象),假设是数组,回调函数每次传入数组的索引和相应的值(值亦能够通过this keyword获取,但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>

  • 相关阅读:
    129 01 Android 零基础入门 02 Java面向对象 06 Java单例模式 03 饿汉模式 VS 懒汉模式 02 懒汉式的代码实现
    128 01 Android 零基础入门 02 Java面向对象 06 Java单例模式 03 饿汉模式 VS 懒汉模式 01 饿汉式的代码实现
    127 01 Android 零基础入门 02 Java面向对象 06 Java单例模式 02 单例模式概述 01 单例模式的定义和作用
    126 01 Android 零基础入门 02 Java面向对象 06 Java单例模式 01 设计模式概述 01 设计模式简介
    125 01 Android 零基础入门 02 Java面向对象 05 Java继承(下)05 Java继承(下)总结 01 Java继承(下)知识点总结
    leetcode-----121. 买卖股票的最佳时机
    leetcode-----104. 二叉树的最大深度
    Json串的字段如果和类中字段不一致,如何映射、转换?
    Mybatis-Plus的Service方法使用 之 泛型方法default <V> List<V> listObjs(Function<? super Object, V> mapper)
    模糊查询
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/3987743.html
Copyright © 2011-2022 走看看