www.jQueryBook.ru - jQuery документация

 

Сегодня: 06 декабря 2016 года, Вторник
Раздел API на стадии наполнения...

 

 

 

  • Категории: Utilities

    jQuery.each()

    Производит циклический обход (перебор) по свойствам объекта (или элементам массива, или массивоподобного объекта) и вызывает функцию обратного вызова для каждого из них.

Синтаксис и описание:

  • Добавлено в jQuery 1.0jQuery.each( object, callback( [indexInArray, valueOfElement] ) )

  • Метод jQuery.each() производит обход по свойствам объекта, элементам массива или массивоподобного объекта (любой объект, имеющий длину и поддерживающий индексы) и вызывает функцию callback для каждого из них. Итерация по элементам массива или объекта, подобного массиву, производится с использованием их числовых индексов (от 0 до length-1). Для остальных объектов перебор осуществляется по именам свойств объекта. Не путать с методом .each().

Возвращаемое значение: (объект) Набор jQuery.

Параметры:

  • object – (массив | объект) Массив или объект, по элементам которого выполняются итерации, или объект, по именам свойств которого выполняются итерации.

  • callback( [indexInArray, valueOfElement] ) – (функция) Функция, вызываемая для каждого элемента массива, массивоподобного объекта или для каждого свойства объекта. С каждой итерацией в качестве первого параметра indexInArray ей передается индекс текущего элемента массива, или массивоподобного объекта (начиная с 0), либо имя свойства объекта. В качестве второго параметра valueOfElement – значение элемента массива или значение свойства объекта, которое также доступно через контекст this вызова функции (valueOfElement == this).

  1. Примечание:

    Чтобы выйти из цикла each() (отменить следующую итерацию), необходимо, чтобы в текущей итерации функция-итератор вернула false.

Примеры:

  1.    Сначала перебрать элементы массива arr, вставляя в цикле динамически создаваемое текстовое содержимое в блок div, id которого совпадает со значением текущего элемента массива. После того, как попадется элемент массива со значением three, выйти из цикла.

       Потом произвести обход по всем свойствам объекта obj, и с каждой итерацией вставлять текстовые узлы по тому же принципу, но выполнить цикл до конца.

    <!DOCTYPE html>
    <html>
    <head>
      <style>
      div { color:blue; }
      div#five { color:red; }
      </style>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    <body>
      <div id="one"></div>
      <div id="two"></div>
      <div id="three"></div>
      <div id="four"></div>
      <div id="five"></div>
    <script>
        var arr = [ "one", "two", "three", "four", "five" ];
        var obj = { one:1, two:2, three:3, four:4, five:5 };
    
        jQuery.each(arr, function() {
          $("#" + this).text("Mine is " + this + ".");
           return (this != "three"); // Выйти из цикла после "three"
         });
    
        jQuery.each(obj, function(i, val) {
          $("#" + i).append(document.createTextNode(" - " + val));
         });
    </script>
    </body>
    </html>

    Демонстрация примера:


    Mine is one. - 1
    Mine is two. - 2
    Mine is three. - 3
    - 4

    - 5

[ наверх ]










 




Справочник по jQuery JavaScript API на русском языке