jQuery.grep()
68
посл. ред.
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