Метод filter - фильтрация элементов

Метод filter оставляет в наборе только те элементы, которые удовлетворяют определенному селектору.

Синтаксис

Фильтрация по селектору:

.filter(селектор);

Параметр также может быть DOM элементами или объектом jQuery:

.filter(DOM элемент или объект jQuery);

Можно также фильтровать элементы с помощью функции, которая вызывается отдельно для каждого из выбранных элементов. Если она возвращает true, то текущий элемент будет включен в конечный результат, если false - не включен. Сами элементы доступны в функции, в переменной this, а их порядковые номера в наборе — в переменной index:

.filter(function(index, elem))

Пример

Давайте найдем все абзацы, поставим им в начало текст '!' с помощью prepend, затем получим из найденных только абзацы с классом www с помощью filter и поставим им в конец текст '?' с помощью append:

<p>text</p> <p>text</p> <p class="www">text</p> <p class="www">text</p> $('p').prepend('!').filter('.www').append('?');

HTML код станет выглядеть так:

<p>!text</p> <p>!text</p> <p class="www">!text?</p> <p class="www">!text?</p>

Пример

Давайте с помощью функции найдем все абзацы, у которых есть тег strong и поставим им текст '!!!':

<p><strong>text</strong></p> <p><strong>text</strong></p> <p>text</p> <p>text</p> $('p').filter(function() { return $('strong', this).length === 1; }).html('!!!');

HTML код станет выглядеть так:

<p>!!!</p> <p>!!!</p> <p>text</p> <p>text</p>

Смотрите также

  • метод find,
    который находит элементы по селектору среди уже найденных
  • метод has,
    который фильтрует набор выбранных элементов по потомкам



Чат с GPT Компилятор