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
|
|