元素.隐藏变量可移植性
Element.hidden variable portability
我正在为我正在设计的个人网站编写模板页面,并且我将使用下拉div标签作为登录表单。
我也使用谷歌浏览器作为我的主要测试等浏览器,并注意到所有可见元素似乎都有一个名为"隐藏"的属性,它持有一个布尔值。
就像你期望的那样,当设置为True时隐藏,当设置为False时可见。
document.getElementById("element").hidden = true;
document.getElementById("element").hidden = false;
奇怪的是,即使是Firefox 8.0.1也以同样的方式处理这个问题。
由于我的Google-fu没有能够找到任何关于这方面的信息,这里有人知道为什么这似乎是工作,有多少其他浏览器支持这个吗?
我要补充的是,我正在建设的这个网站是为我个人使用,所以跨浏览器兼容性是不打算的,但将是一个很好的副作用。
hidden
是HTML5中引入的一个新的全局属性。这意味着浏览器支持在现代浏览器中应该是相当好的,尽管它在IE8中不支持,可能在IE9中也不支持。顺便说一句,您对hidden
属性的使用可能不正确。
这个
Boolean
属性表明元素还不是,或者不再是相关的。例如,它可以用来隐藏页面中在登录过程完成之前无法使用的元素。浏览器不会呈现这样的元素。
您的登录表单不是不再相关的页面的一部分,而是简单地隐藏为演示文稿的一部分。因此,您应该使用CSS来代替。有关更多信息,请参见:
- 相关MDN文章:https://developer.mozilla.org/en/HTML/Global_attributes#attr-hidden
- HTML5规范:http://developers.whatwg.org/editing.html#the-hidden-attribute
你所做的和你所做的是一样的:
<div hidden="true"></div>
但是我建议你这样做:
document.getElementById('question').style.display = 'none';
相关文章:
- 如何收集Knockout可观察性以放入JSON
- 二进制数据的可移植hashCode实现
- 冷可观测性的用例是什么
- 在隐藏值上调用 jQuery .trigger('change') 会破坏与 KNOCKOUT 相关的可观察性
- 解析主机时,可移植的本机客户端权限被拒绝
- Knockout.js性能-有多少可观察性
- 具有动态可观测性的KnockoutJS验证
- 如何在保持可维护性的同时分离关注点(JS、HTML)
- HTML客户端可移植文件生成-无外部资源或服务器调用
- 可访问性:为什么 Jquery 菜单明确将菜单项 tabindex 设置为 -1
- 在单元测试中实现逻辑,以缩短语法并提高测试代码的可重用性
- Knockout.js:在可选定义的值上计算可观察性
- 绑定可访问性的点击和输入键
- 如何使用ES6在Ember中声明可观察性或计算属性
- JavaScript 打破标签的可移植性如何
- 不同事件侦听器中的变量可访问性
- 元素.隐藏变量可移植性
- $.ajax中的变量可移植性
- JavaScriptCore可移植性
- Node.js全局变量可访问性