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:给定一个选择器,只找到它的可见元素的主要内容,如果未能解决你的问题,请参考以下文章