已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
四年前就关门了。
Improve this question
在我们的项目中,我们都使用input
type=hidden
元素和divs
与display:none
css在html页面上存储一些数据,而不显示给用户。
所以我想知道哪种方式在性能和代码完整性以及html语义上更合适?
已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
四年前就关门了。
Improve this question
在我们的项目中,我们都使用input
type=hidden
元素和divs
与display:none
css在html页面上存储一些数据,而不显示给用户。
所以我想知道哪种方式在性能和代码完整性以及html语义上更合适?
4条答案
按热度按时间disbfnqx1#
不管文档的样式规则(CSS)如何,隐藏的输入都将被隐藏,这可能会使它的性能更好,但我没有数据来显示这一点。话虽如此,输入控件应该作为表单的一部分提交。
还有其他一些方法,比如HTML5自定义数据属性或使用脚本标签:
cu6pst1q2#
影响性能的因素有很多,但是除非你存储大量的数据,否则性能的差异很可能无法区分。
对于代码完整性和语义来说,什么是最好的,取决于数据和使用数据的方式。
存储数据有多种选择:
<input name="mydata" type="hidden" value="some data" />
<div id="mydata" style="display:none"> some data </div>
<script type="text/javascript"> var data.id = 123; var data.list = ["Yes","No","Maybe"]; </script>
<meta name="mydata" content="some data"/>
http://html5doctor.com/introducing-web-sql-databases/
http://html5doctor.com/html5-custom-data-attributes/
bnlyeluc3#
从语义上来说,答案是--这取决于你如何使用它。
如果数据需要作为表单提交或者与表单密切相关,那么就使用input。我不确定什么情况不属于这一类,因为只在一个页面上使用的数据可以存储在一个javascript变量中,如果用户不应该看到它。
nbnkbykc4#
我认为,第一个解决方案(输入类型=隐藏)更漂亮,因为第二个解决方案依赖于css,它可能在浏览器中被禁用,您数据将显示给用户。