:visible Selector
Categories: jQuery Extensions | Visibility Filter
jQuery(':visible')
Description: Selects all elements that are visible.
-
jQuery(':visible')
version added: 1.0
Elements are considered visible if they consume space in the document. Visible elements have a width or height that is greater than zero.
Elements with visibility: hidden
or opacity: 0
are considered visible, since they still consume space in the layout. During animations that hide an element, the element is considered to be visible until the end of the animation. During animations to show an element, the element is considered to be visible at the start at the animation.
How :visible
is calculated was changed in jQuery 1.3.2. The release notes outline the changes in more detail.
Note:
Because:visible
is a jQuery extension and not part of the CSS specification, queries using :visible
cannot take advantage of the performance boost provided by the native DOM querySelectorAll()
method. To achieve the best performance when using :visible
to select elements, first select the elements using a pure CSS selector, then use .filter(":visible")
.
-
Make all visible divs turn yellow on click.
HTML:
<button>Show hidden to see they don't change</button> <div></div> <div class="starthidden"></div> <div></div> <div></div> <div style="display:none;"></div>
CSS:
div { width:50px; height:40px; margin:5px; border:3px outset green; float:left; } .starthidden { display:none; }
Code:
$("div:visible").click(function () { $(this).css("background", "yellow"); }); $("button").click(function () { $("div:hidden").show("fast"); });