【发布时间】:2011-06-04 07:05:24
【问题描述】:
我最近开始使用 jQuery,想知道如何遍历项目的集合(一个数组或项目列表)并对它们的内容求和。
jQuery 是否像许多其他语言一样具有类似 for 循环的功能?
是否有一种简单的方法来实现这一点 - 如果这不容易做到?
【问题讨论】:
标签: javascript jquery foreach
我最近开始使用 jQuery,想知道如何遍历项目的集合(一个数组或项目列表)并对它们的内容求和。
jQuery 是否像许多其他语言一样具有类似 for 循环的功能?
是否有一种简单的方法来实现这一点 - 如果这不容易做到?
【问题讨论】:
标签: javascript jquery foreach
您正在寻找的是 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>
【讨论】:
$.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 库。 :)
【讨论】:
对于数组,请参阅 Rionmonster 的答案。对于所有匹配一个选择器的项目:
$("a").each(function() {
alert($(this).attr('href'));
});
【讨论】: