Фильтрация выбранных элементов

Материал из JQuery

Перейти к: навигация, поиск
.filter()

Фильтрует набор выбранных элементов. Метод имеет два варианта использования:

.filter(selector):jQuery1.0
Фильтрует набор элементов, оставляя только те, которые удовлетворяют селектору selector.
.filter(function(index)):jQuery1.0
Фильтрует набор элементов c помощью заданной функции. Эта функция вызывается отдельно, для каждого из выбранных элементов. Если она возвращает true, то текущий элемент будет включен в конечный результат. Сами элементы доступны в функции, в переменной this, а их порядковые номера в наборе — в переменной index.

Примеры использования:

$("div").filter(".lBlock") вернет div-элементы с классом lBlock.
$("div").filter(filterDivs) вернет div-элементы, "одобренные" функцией filterDivs.

В действии

Найдем и отметим элементы списка, которые имеют один элемент заключенный в тег <strong> (жирное начертание):

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <style>
    ul{list-style-type:none; padding-left:20px}
    li{padding:2px}
  </style>
</head>
<body>
<ul>
  <li>
    <strong>элемент</strong> номер 1
  </li>
  <li>элемент номер 2</li>
  <li>элемент номер 3</li>
  <li>
    <strong>элемент</strong> номер <strong>4</strong>
  </li>
  <li>элемент номер 5</li>
  <li>элемент номер 6</li>
</ul>
<script>
  $('li').filter(function(index){
    return $('strong', this).length == 1;
  }).css('background-color', 'red');
</script>
</body>
</html>

Ссылки

Ключи: фильтр набора элементов, отфильтровать выбранные элементы, прорядить выбранные элементы, filter(), .filter()