jQuery.grep()
38
посл. ред.
21.12.2016
Функция jQuery.grep()
находит все элементы массива, удовлетворяющие заданному фильтру. Функция может работать не только с массивами, но и с массивоподобными объектами со свойством length
.
В качестве фильтра
используется переданная вторым аргументом функция. Она запускается для каждого элемента массива отдельно. Если функция возвращает значение true
, тогда текущий элемент включается в результирующий массив. Исходный массив остаётся без изменений.
Варианты использования
jQuery.grep(массив, функция[, инвертировать]) => Array
-
Отфильтровывает массив переданной функцией. Функция может принимать два аргумента: элемент массива и его индекс.
Необязательный третий аргумент позволяет инвертировать работу фильтра. Если он имеет значениеtrue
, тогда в результирующий массив попадут элементы, для которых фильтрующая функция вернёт значениеfalse
.
Примеры
<html> <head> <title>Функции библиотеки jQuery</title> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <ul> <li>Элемент 1</li> <li>Элемент 2</li> <li>Элемент 3</li> <li>Элемент 4</li> </ul> </body> </html> <script> var list_items = document.getElementsByTagName('li'); /* Выбрать все элементы, кроме первых двух */ var items_1 = $.grep(list_items, function(elem, index) { return (index > 1); }); $(items_1).css('color', 'red'); /* Выбрать первые два элемента можно, инвертировав предыдущий фильтр */ var items_2 = $.grep(list_items, function(elem, index) { return (index > 1); }, true); $(items_2).css('color', 'green'); </script>
- Элемент 1
- Элемент 2
- Элемент 3
- Элемент 4