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

.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> (жирное начертание):

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

Ссылки

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