visible 选择器
描述: 选择所有可见的元素。
版本添加: 1.0jQuery( ":visible" )
如果元素在文档中占据空间,则被视为可见。可见元素的宽度或高度大于零。
具有 visibility: hidden 或 opacity: 0 的元素被视为可见,因为它们仍然在布局中占据空间。
不在文档中的元素被视为隐藏;jQuery 无法知道将它们添加到文档中时是否可见,因为这取决于适用的样式。
此选择器与 :hidden 选择器相反。因此,被 :visible 选中的每个元素都不会被 :hidden 选中,反之亦然。
所有 option 元素都被视为隐藏,无论它们的 selected 状态如何。
在隐藏元素的动画过程中,元素在动画结束之前被视为可见。在显示元素的动画过程中,元素在动画开始时被视为可见。
:visible 的计算方式在 jQuery 1.3.2 中有所改变。发行说明中更详细地概述了这些变化。
jQuery 3 稍微修改了 :visible(以及因此 :hidden)的含义。从这个版本开始,如果元素有任何布局框,包括宽度和/或高度为零的布局框,它们将被视为 :visible。例如,br 元素和没有内容的内联元素将被 :visible 选择器选中。
附加说明
- 因为
:visible是 jQuery 扩展而不是 CSS 规范的一部分,所以使用:visible的查询无法利用原生 DOMquerySelectorAll()方法提供的高性能。为了在使用:visible选择元素时获得最佳性能,请首先使用纯 CSS 选择器选择元素,然后使用.filter(":visible")。 - 大量使用此选择器可能会对性能产生影响,因为它可能迫使浏览器在确定可见性之前重新渲染页面。通过其他方法(例如使用类)跟踪元素的可见性可以提供更好的性能。
示例
点击时使所有可见的 div 变为黄色。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
|