• Страница 1 из 1
  • 1
Модератор форума: webik  
Форум » JavaScript и jQuery » jQuery » Знакомство с jQuery » Фильтры jQuery (Фильтрация выборок по характеристикам)
Фильтры jQuery
webikДата: Сб, 30.03.2019, 23:47 | Сообщение # 1
Offline
Фильтры jQuery позволяют найти элементы, содержащие определённые элементы, текст, скрытые элементы и элементы не соответствующие данному селектору.
Чтобы использовать фильтр, нужно к основному селектору добавить двоеточие, а затем ввести имя фильтра, например:

Код
$('tr:even');


данный код выберет все четные элементы tr на странице. Чтобы сузить поиск, например, для таблицы с классом stripped выберем все чётные элементы:

Код
$('.stripped tr:even');


Фильтр :odd напротив, ищет все нечётные элементы. Фильтры :even и :odd выбирают каждый второй элемент в группе, а так как выборка jQuery похожа на массив, то, так как индексация элементов массива начинается с нуля, то, поскольку фильтр :even проводит фильтрацию по чётным значениям индекса (0, 2, 4 и т.д.), то и возвращает элементы первый, третий, пятый и т.д. То есть нечётные элементы!

Фильтр же :odd, напротив, проводит фильтрацию по нечётным индексам (1, 3, 5 и т.д.) и возвращает элементы второй, четвёртый, шестой и т.д.) То есть чётные элементы!

Фильтры :first и :last выбирают первый и последний элемент группы соответственно. Например, чтобы выбрать первый абзац на странице:

Код
$('p:first');


чтобы выбрать последний:

Код
$('p:last');


Фильтр :not находит элементы, не соответствующие данному типу селектора. Например, нужно выбрать все элементы a, кроме тех, которые относятся к классу .navButton:

Код
$('a:not(.navButton)');


Или, к примеру, нужно найти все ссылки начинающиеся не с http://

Код
$('a:not([href^="http://"])');


Фильтр :has находит все элементы, содержащие другой селектор. Например, так можно найти все элементы li, у которых внутри есть a

Код
$('li:has(a)');


Фильтр :contains() находит элементы, содержащий конкретный текст. Например, чтобы найти все ссылки с текстом "Кликни меня":

Код
$('a:contains(Кликни меня)');


Фильтр :hidden находит скрытые элементы: элементы, для которых в свойстве display установлено значение none; элементы, скрытые с помощью jQuery-функции hide(), элементы с нулевой высотой и шириной и скрытые элементы форм.(К элементам, у которых свойству visibility установлено значение invisible, данный фильтр не применим).

Допустим, есть несколько скрытых элементов div. Найти их и сделать видимыми можно так:

Код
$('div:hidden').show();


На видимые в данный момент блоки div этот код не подействует.

Фильтр :visible противоположен фильтру :hidden и находит на странице видимые элементы.
 
профиль цитата изменить удалить
Форум » JavaScript и jQuery » jQuery » Знакомство с jQuery » Фильтры jQuery (Фильтрация выборок по характеристикам)
  • Страница 1 из 1
  • 1
Поиск: