jQuery: Given a selector, find only its visible elements

MegaMatt picture MegaMatt · Oct 29, 2010 · Viewed 29.9k times · Source

This should be an easy one. I have a variable that I've already declared called $listItems. The declaration looks like this:

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

Later in my code, I'd like to only get the ones that are currently visible. How would I go about that? Something like:

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

Thanks.

Answer

Nick Craver picture Nick Craver · Oct 29, 2010

You can use .filter() to narrow down a set of elements to only those that match a selector (or a function), like this:

$listItems.filter(':visible')