: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 DOM querySelectorAll() 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 example below to narrow the search and improve performance.

An element is considered 'visible' unless any of the following apply:

  • The CSS display attribute value is set to none.
  • The CSS height and width attribute values are set to 0.
  • The element is a form element with type attribute value set to hidden.
  • 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 For Testing Hidden/Visible Selectors
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


$(function(){
  $('.testtable tr:visible').on('click', function() {
    $(this).css('backgroundColor', 'orange');
  });
  $('#btn24').on('click', function() {
    $(".testtable tr:hidden").show();
  });
});

Press the button below to show hidden table rows above:

Related Tutorials

jQuery Basic Tutorials - Lesson 4 - jQuery Selectors

jQuery Basics

jQuery Basics

jQuery Intermediate

jQuery Intermediate

jQuery Advanced

jQuery Advanced

jQuery Reference

API by Function Types

API Alphabetically

jQuery Glossary

Function Type

Ajax

Attributes & Properties

Core & Internals

DOM Element Methods

Effects

Events

Filtering

Manipulation

Objects

Selectors

Attribute

Attribute Contains Prefix Selector

Attribute Contains Selector

Attribute Contains Word Selector

Attribute Ends With Selector

Attribute Equals Selector

Attribute Not Equal Selector

Attribute Starts With Selector

Has Attribute Selector

Multiple Attribute Selector

Basic

All Selector ('*')

Class Selector ('.class')

Element Selector

ID Selector ('#id')

Multiple Selector

Basic Filter

:animated Selector

:eq() Selector

:even Selector

:first Selector

:gt() Selector

:header Selector

:lang Selector

:last Selector

:lt() Selector

:not() Selector

:odd Selector

:root Selector

:target Selector

Child Filter

:first-child Selector

:first-of-type Selector

:last-child Selector

:last-of-type Selector

:nth-child() Selector

:nth-last-child() Selector

:nth-last-of-type() Selector

:nth-of-type() Selector

:only-child Selector

:only-of-type Selector

Content Filter

:contains() Selector

:empty Selector

:has Selector

:parent Selector

Form

:button Selector

:checkbox Selector

:checked Selector

:disabled Selector

:enabled Selector

:file Selector

:focus Selector

:image Selector

:input Selector

:password Selector

:radio Selector

:reset Selector

:selected Selector

:submit Selector

:text Selector

Hierarchy

Child Selector

Descendant Selector

Next Adjacent Selector

Next Siblings Selector

Visibility Filter

:hidden Selector

:visible Selector

Traversal

Utilities