How to Check an Element is Visible or not using jQuery

To check if an element is visible or not using jQuery, you can use the .is(":visible") method or check the CSS display or visibility properties.

Using .is(":visible")

You can use .is(':visible') to check whether an element is visible in the layout or not.

Elements are considered visible if they consume space in the document. Visible elements have a width or height that is greater than zero. The :visible selector selects every element that is currently visible.

if($('#yourDiv').is(':visible')){ //do something }
run this source code Browser View
Hidden Div
Visible Div

Full Source
<!DOCTYPE html> <html lang="en"> <head> <title>jQuery .is(':visible')</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#btn1').click(function() { alert($('#hiddenDiv').is(':visible')); alert($('#visibleDiv').is(':visible')); }); }); </script> <style> #hiddenDiv { display: none; } </style> </head> <body> <div id="hiddenDiv">Hidden Div</div> <div id="visibleDiv">Visible Div</div> <button id="btn1">Click Me</button> </body> </html>

Elements with visibility: hidden or opacity: 0 are considered to be 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.

Using .is(':hidden')

The same works with .is(':hidden') to check whether an element is visible in the layout or not.

if($('#yourDiv').is(':hidden')){ //do something }
run this source code Browser View
Hidden Div
Visible Div

Full Source
<!DOCTYPE html> <html lang="en"> <head> <title>jQuery .is(':visible')</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#btn1').click(function() { alert($('#hiddenDiv').is(':hidden')); alert($('#visibleDiv').is(':hidden')); }); }); </script> <style> #hiddenDiv { display: none; } </style> </head> <body> <div id="hiddenDiv">Hidden Div</div> <div id="visibleDiv">Visible Div</div> <button id="btn1">Click Me</button> </body> </html>

Checking display or visibility CSS Properties

You can also check the CSS properties directly to determine visibility. For example, you can check the display property for "none" to see if an element is hidden:

if ($("#myElement").css("display") === "none") { console.log("Element is hidden!"); } else { console.log("Element is visible!"); }

Similarly, you can check the visibility property for "hidden" to detect elements hidden using the CSS visibility property:

if ($("#myElement").css("visibility") === "hidden") { console.log("Element is hidden!"); } else { console.log("Element is visible!"); }

Combining .is(":visible") and .length

You can also use .is(":visible") in combination with the .length property to check if an element with a specific selector exists and is visible:

if ($("#myElement:visible").length) { console.log("Element exists and is visible!"); } else { console.log("Element does not exist or is hidden!"); }

Conclusion

To check if an element is visible or not using jQuery, you can utilize the .is(":visible") method, which returns true if the element is currently visible on the webpage and false if it's hidden. Alternatively, you can directly inspect the display or visibility CSS properties of the element to assess its visibility status, providing flexibility in determining the element's visibility based on your specific needs.