HTMLElement: hidden property

The HTMLElement property hidden reflects the value of the element's hidden attribute.


This attribute may have one of three values:


The element is hidden.


The element is not hidden. This is the default value for the attribute.


The element is hidden until found, meaning that it is hidden but will be revealed if found through in page search or reached through fragment navigation.

For details on the usage of this attribute, see the page for the hidden HTML attribute that this property reflects.


Here's an example where a hidden block is used to contain a 'thank you' message that is displayed after a user agrees to an unusual request.


The HTML contains two panels: a welcome panel, that asks users to agree to be awesome, and a follow-up panel, which is initially hidden.

<div id="welcome" class="panel">
  <h1>Welcome to!</h1>
  <p>By clicking "OK" you agree to be awesome today!</p>
  <button class="button" id="okButton">OK</button>

<div id="awesome" class="panel" hidden>
  <p>Thanks for agreeing to be awesome today!</p>


The content is styled using the CSS below.

.panel {
  font: 16px "Open Sans", Helvetica, Arial, sans-serif;
  border: 1px solid #22d;
  padding: 12px;
  width: 500px;
  text-align: center;

.button {
  font: 22px "Open Sans", Helvetica, Arial, sans-serif;
  padding: 5px 36px;

h1 {
  margin-top: 0;
  font-size: 175%;


The JavaScript adds an event listener to the "OK" button, which hides the "welcome" panel and shows the "awesome" panel:

  () => {
    document.getElementById("welcome").hidden = true;
    document.getElementById("awesome").hidden = false;



HTML Standard
# dom-hidden

Browser compatibility

BCD tables only load in the browser

See also