什么是jQuery中for-each循环的等价物?

时间:2011-01-05 21:03:54

标签: javascript jquery foreach

我最近开始使用jQuery,并想知道如何迭代项目的集合(项目数组或项目列表)并总结其内容。

jQuery是否像许多其他语言一样具有类似for-loop的东西?

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

3 个答案:

答案 0 :(得分:14)

您正在寻找的是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>

答案 1 :(得分:5)

$.each(function)$(...).each(function)都准确地执行for-each循环的等价物,但每个等效的实际JavaScript是for(... in ...)循环。

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

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

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

答案 2 :(得分:4)

对于阵列,请参阅Red Monster的答案。对于与选择器匹配的所有项目:

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