JQuery: с учетом селектора найдите только его видимые элементы

Это должно быть легко. У меня есть переменная, которую я уже объявлял с именем $listItems. Объявление выглядит следующим образом:

var $listItems = $ul.children('li'); // $ul is just a selected unordered list

Позже в моем коде мне бы хотелось получить только те, которые в настоящее время видны. Как я могу это сделать? Что-то вроде:

$listItems.parent().children(':visible')?

Спасибо.

Ответ 1

Вы можете использовать .filter(), чтобы сузить набор элементов только теми, которые соответствуют селектору (или функции), например

$listItems.filter(':visible')

Ответ 2

У вас есть это : visible селектор. Он может использоваться в любом из методов коллекции jQuery $(), filter(), children(), find() и т.д.

Примечание.. Существует разница между тем, что видно на странице, и имеет свой набор свойств visibility.