jQuery функция $.makeArray()
jQuery утилитыОпределение и применение
jQuery функция $.makeArray() позволяет преобразовать массивоподобный объект в JavaScript массив.
Многие методы, как в jQuery, так и в JavaScript в целом, возвращают объекты, подобные массиву. Например, фабричная функция $() возвращает объект jQuery, который имеет много общего с массивами (свойства, оператор доступа к массиву []), но при этом не совсем то же самое, что массив, и не имеет некоторых встроенных методов массива (например, таких как pop() и reverse()).
Обращаю Ваше внимание, что после преобразования с использованием функции $.makeArray() все специальные функции объекта (например, такие как методы jQuery) больше не будут присутствовать (объект будет представлять собой простой JavaScript массив.
jQuery синтаксис:
$.makeArray( obj )
obj - PlainObject
Добавлен в версии jQuery
1.2Значения параметров
Параметр | Описание |
---|---|
obj | Любой объект для преобразования в JavaScript массив. |
Пример использования
<!DOCTYPE html> <html> <head> <title>Использование jQuery метода функции $.makeArray()</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $( document ).ready(function(){ $( "button" ).click(function(){ // задаем функцию при нажатиии на элемент <button> // Возвращаем коллекцию NodeList const elems = document.getElementsByTagName( "li" ); // Преобразуем NodeList в Array const arr = $.makeArray( elems ); // изменяем порядок следования элементов массива (первый элемент массива становится последним, а последний элемент первым) arr.reverse(); // вставляем содержимое в конец целевого элемента ul $( arr ).appendTo( "ul" ); }); }); </script> </head> <body> <button>Reverse</button> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <ul> </body> </html>
В этом примере с использованием jQuery метода .click() мы при нажатии на элемент <button> (кнопка) вызываем функцию, которая:
- С помощью JavaScript метода getElementsByTagName() выбирает все элементы <li> в документе. Метод возвращает коллекцию элементов NodeList, которой мы инициализируем переменную.
- С использованием jQuery функции $.makeArray() мы преобразуем нашу переменную (массивоподобный объект) в JavaScript массив.
- С помощью JavaScript метода reverse() изменяем порядок следования элементов массива (первый элемент массива становится последним, а последний элемент первым).
- С помощью jQuery метода .appendTo() вставляем это значение в элемент <ul> (маркированный список), в результате чего порядок элементов будет изменен.
Результат нашего примера:
jQuery утилиты