【问题标题】:What is the equivalent of a for-each loop in jQuery?jQuery 中的 for-each 循环相当于什么?
【发布时间】:2011-06-04 07:05:24
【问题描述】:

我最近开始使用 jQuery,想知道如何遍历项目的集合(一个数组或项目列表)并对它们的内容求和。

jQuery 是否像许多其他语言一样具有类似 for 循环的功能?

是否有一种简单的方法来实现这一点 - 如果这不容易做到?

【问题讨论】:

    标签: javascript jquery foreach


    【解决方案1】:

    您正在寻找的是 jQuery each() 函数 - 它允许您遍历任何给定字段并执行操作。

    用法:

    var array = ["stack", "overflow"];
    $.each(array, function() {
          // Perform actions here (this) will be your current item
    });
    

    示例(对整数数组求和):

    var array = [1, 2, 3, 4, 5];
    var sum = 0;
    
    $.each(array, function() {
      sum += (this);
    });
    alert(sum);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    【讨论】:

      【解决方案2】:

      $.each(function)$(...).each(function) 都准确地执行相当于 for-each 循环,但实际的 JavaScript for-each 相当于 for(... in ...) 循环。

      for (variable in object)
      {
          // code to be executed
      }
      

      http://www.w3schools.com/js/js_loop_for_in.asp

      这不是 jQuery 特有的,但是,嘿,jQuery 毕竟只是一个 JavaScript 库。 :)

      【讨论】:

      • 这样可以节省在移动设备上有用的内存。为什么 Apple 不简单地制造具有 4 GB RAM 的 IPHONE! D:
      【解决方案3】:

      对于数组,请参阅 Rionmonster 的答案。对于所有匹配一个选择器的项目:

      $("a").each(function() {
         alert($(this).attr('href'));
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-21
        • 2013-01-26
        • 2014-10-19
        • 2021-10-01
        • 2015-11-12
        • 1970-01-01
        • 2013-08-12
        • 2011-06-07
        相关资源
        最近更新 更多