我最近开始使用jQuery,并想知道如何迭代项目的集合(项目数组或项目列表)并总结其内容。
jQuery是否像许多其他语言一样具有类似for-loop的东西?
是否有一种简单的方法可以实现这一点 - 如果这不容易实现?
答案 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'));
});