[Функция] jQuery.each(object, callback)
Раздел "Miscellaneous"
Функция обхода, которая может бть использована для беспрерывного вывода занчений как объектов, так массивов.
jQuery.each(object, callback)
1.0
object: объект или массив
callback: функция, которая будет выполнена для каждого элемента объекта или массива
function callback(indexInArray, valueOfElement)
{
// индекс занчения объектаи или массива;
// valueOfElement - значение объекта или массива;
this; // текущий элеменет
}
Данная функция не является аналогом функции $().each() - которая применяется, единственно, для jQuery объекта. Данная функция используется для повторения чего угодно. Параметр callback имеет два аргумента: первый - ключ (объектов) или индекс (массивов), второй - переменная. Если вы желаете прервать функцию each() вы можете вернуть false. Функция может возвратить true,что значит то же самое, что и продолжить (continue) исполнение функции в цикле, при чём функция переходит немедленно к следующей итерации.
Пример:
Повторять каждое число как слово и как цифру.
"jQuery"
var arr = [ "одни", "два", "три", "четыре", "пять" ];
var obj = { one:1, two:2, three:3, four:4, five:5 };
jQuery.each(arr, function() {
$("#myul").append("<li>Номер " + this + ".</li>");
return (this != "четыре"); // прекращаем вывод после li под номером 4
});
jQuery.each(obj, function(i, val) {
$("#newul").append(document.createTextNode(" - " + val));
});
"HTML"
<ul id="myul"></ul>
<div id="newul"></div>
"CSS"
ul li { color:blue; }
div#newul { color:red; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css"
rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
var arr = [ "одни", "два", "три", "четыре", "пять" ];
var obj = { one:1, two:2, three:3, four:4, five:5 };
jQuery.each(arr, function() {
$("#myul").append("<li>Номер " + this + ".</li>");
return (this != "четыре"); // прекращаем вывод после li под номером 4
});
jQuery.each(obj, function(i, val) {
$("#newul").append(document.createTextNode(" - " + val));
});
});
</script>
</head>
<body class="iframe">
<ul id="myul"></ul>
<div id="newul"></div>
</body>
</html>
<style>
ul li { color:blue; }
div#newul { color:red; }
</style>
Пример:
Повторение элементов в массиве, с показом текущего элемента и его индекса.
"jQuery"
$.each( [0,1,2], function(i, n){
alert( "Элемент №" + i + ": " + n );
});
Пример:
Повторение данных объекта, с доступом к текущей позиции и к его ключу.
"jQuery"
$.each( { name: "John", lang: "JS" }, function(i, n){
alert( "Name: " + i + ", Value: " + n );
});
Версия jQuery 1.4.2
Документ создан 2010-08-21