2011-01-05 2 views
3

Недавно я начал работать с jQuery и задавался вопросом, как я буду перебирать коллекцию (массив или список элементов) предметов и суммировать их содержимое.Что такое эквивалент цикла for-each в jQuery?

Есть ли у jQuery что-то вроде цикла for, как и многие другие языки?

Был бы простой способ реализовать это - если это нелегко?

ответ

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>

3

Для массива, см ответ Rionmonster в. Для всех элементов matchins селектор:

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

$.each(function) и $(...).each(function) и точно выполнять эквивалент для-каждого цикла, но фактическое JavaScript для-каждый является эквивалентом for(... in ...) петли.

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

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

Это не JQuery-специфична, но эй, JQuery это просто библиотека JavaScript в конце концов. :)

+1

И это запасная память, которая может быть полезна для мобильных устройств. Почему Apple просто не делает IPHONE с 4 ГБ оперативной памяти! D: < –

Смежные вопросы