HTMLElement.hidden
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
HTML 元素
的 hidden
属性是一个 Boolean
类型的值,如果想要隐藏元素,就将值设置为 true
,否则就将值设置为false
。这完全不同于使用 CSS 属性 display
来控制一个元素的可见性。
hidden
属性应用于所有展现模式,并且不应用于隐藏用户可直接访问的内容。
适用的情况,包括:
- 目前还不相关但将来可能会被用到的内容
- 之前还需要但现在不再被需要用到的内容
- 以类似于模板的方式被页面的其他部分所重复使用的内容
- 创建一个屏幕上不可见的画布来作为绘制的缓冲区
不适用的情况,包括
- 隐藏选项卡的对话框中的面板
- 隐藏一个演示文稿中的内容,同时又希望这个内容在其他演示文稿中是可见的
备注:
Elements that are not hidden
must not link to elements which are.
值
Boolean
类型的值,如果想要隐藏元素,则设置为 true
,否则设置为 false
。
示例
在这个例子中,当用户点击了 welcome 面板中的按钮后,welcome 面板就会被隐藏掉,并在原位置显示出 follow-up 面板,follow-up 面板包含了致谢信息。
JavaScript
document.getElementById("okButton").addEventListener(
"click",
function () {
document.getElementById("welcome").hidden = true;
document.getElementById("awesome").hidden = false;
},
false,
);
这段代码用来为 welcome 面板中的按钮绑定一个事件监听器,这个事件监听器会隐藏 welcome 面板并在其原位置显示出 follow-up 面板。
HTML
welcome 面板和 follow-up 面板的 HTML 代码。
The welcome panel
<div id="welcome" class="panel">
<h1>Welcome to Foobar.com!</h1>
<p>By clicking "OK" you agree to be awesome every day!</p>
<button class="button" id="okButton">OK</button>
</div>
这段 HTML 代码用于创建一个面板(是一个 <div>
的块),这个面板会对进入到该站点的用户表示欢迎,并提示他们只要点击了按钮就代表他们同意面板的内容。
The follow-up panel
一旦用户点击了 welcome 面板中的按钮,JavaScript 代码就会通过修改 hidden
属性来切换 welcome 面板和 follow-up 面板。
<div id="awesome" class="panel" hidden>
<h1>Thanks!</h1>
<p>
Thank you <strong>so</strong> much for agreeing to be awesome today! Now get
out there and do awesome things awesomely to make the world more awesome!
</p>
</div>
CSS
上述内容使用了下述的 CSS 样式。
.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%;
}
结果
规范
Specification |
---|
HTML Standard # dom-hidden |
浏览器兼容性
BCD tables only load in the browser