web-dev-qa-db-fra.com

jQuery: Étant donné un sélecteur, trouver uniquement ses éléments visibles

Cela devrait être facile. J'ai une variable que j'ai déjà déclarée appelée $ listItems. La déclaration ressemble à ceci:

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

Plus loin dans mon code, j'aimerais n'obtenir que ceux qui sont actuellement visibles. Comment pourrais-je m'y prendre? Quelque chose comme:

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

Merci.

33
MegaMatt

Vous pouvez utiliser .filter() pour restreindre un ensemble d'éléments à ceux qui correspondent à un sélecteur (ou à une fonction), comme ceci:

$listItems.filter(':visible')
71
Nick Craver

Vous l'avez avec le sélecteur : visible . Il peut être utilisé dans n'importe laquelle des méthodes de collection jQuery $(), filter(), children(), find(), etc.

Remarque: Il y a une différence entre quelque chose qui est visible sur la page et a son visibility ensemble de propriétés.

4
Jason McCreary