jQuery:给定一个选择器,只找到它的可见元素

Posted

技术标签:

【中文标题】jQuery:给定一个选择器,只找到它的可见元素【英文标题】:jQuery: Given a selector, find only its visible elements 【发布时间】:2011-05-02 04:14:06 【问题描述】:

这应该很容易。我有一个变量,我已经声明了 $listItems。声明如下所示:

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

稍后在我的代码中,我想只获取当前可见的那些。我该怎么做呢?比如:

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

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用.filter() 将一组元素缩小为仅匹配选择器(或函数)的元素,如下所示:

$listItems.filter(':visible')

【讨论】:

是的,我就是这个意思,尼克 ;) 这在您需要过滤多个值时特别有用。例如。被选中并可见。 +1 一个好的解决方案! FWIW,jQuery 将元素定义为可见的“如果它们占用了文档中的空间”。一个元素可以将其visibility 设置为hidden,因此实际上在页面上看不到它,但:visible 仍会返回该元素。【参考方案2】:

您可以使用 :visible 选择器。可用于任意jQuery集合方法$()filter()children()find()

注意:页面上可见的内容与其visibility 属性集之间存在差异。

【讨论】:

以上是关于jQuery:给定一个选择器,只找到它的可见元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery学习笔记使用选择器二

锋利的jQuery 要点归纳(一) jQuery选择器

jQuery

jQuery效果

JQuery选择器——可见性筛选选择器

jQuery选择器