:visible
JQ Home <<
Selectors <<
:visible
Visible element selector.
Shorthand version $(':visible')
Description
The :visible
selector, selects all visible elements.
- Opposite of the
:hidden
selector. - Being a jQuery extension the
:hidden
pseudo selector is not part of any current CSS specification. Therefore:hidden
cannot take advantage of the performance boost provided by the native DOMquerySelectorAll()
method. - If this selector is not preceded by another selector, the universal selector ("*") is implied and so the whole DOM will be searched. Use another selector as in the examples below to narrow the search and improve performance.
An element is considered 'hidden' if any of the following apply:
- The CSS
display
attribute value is set tonone
. - The CSS
height
andwidth
attribute values are set to0
. - The element is a form element with
type
attribute value set tohidden
. - An ancestor element is hidden, ergo also hiding this element.
- All <option> elements are considered hidden, regardless of their selected state
- Elements that are not in a document.
Opposite of the :hidden
selector.
Syntax
Signature | Description |
---|---|
jQuery(':visible') | Visible element match |
Parameters
None.
Return
N/A.
:visible
Example
Selectors << Top
Select all visible elements.
In the example below an orange background is applied to any visible 'tr' elements in the table below that are clicked on. We display any hidden elements when the button below is clicked. You can still change any visible element to orange but clicking the previously hidden elements has no effect. Try clicking on a table row, then pressing the button below to see the effects.
Table Row 1, Table Data 1 | Table Row 1, Table Data 2 |
Table Row 2, Table Data 1 | Table Row 2, Table Data 2 |
Table Row 3, Table Data 1 | Table Row 3, Table Data 2 |
Table Row 4, Table Data 1 | Table Row 4, Table Data 2 |
Table Row 5, Table Data 1 | Table Row 5, Table Data 2 |
Table Row 6, Table Data 1 | Table Row 6, Table Data 2 |
$(function(){
$('.testtable tr:visible').on('click', function() {
$(this).css('backgroundColor', 'orange');
});
$('#btn1').on('click', function() {
$(".testtable tr:hidden").show();
});
});
Related Tutorials
jQuery Basic Tutorials - Lesson 4 - jQuery Selectors