问题描述
HTML 5 明确允许以 . 开头的自定义属性data
。因此,例如,<p data-date-changed="Jan 24 5:23
p.m.">Hello</p>
是有效的。由于它受到标准的正式支持,我认为这是自定义属性的最佳选择。而且它不需要您使用 hack 重载其他属性,因此您的
HTML 可以保持语义。
来源: http ://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data- with-the-data-*-attributes
解决方法
最近我读到越来越多的人在他们的 HTML 标签中使用自定义属性,主要是为了在 javascript 代码中嵌入一些额外的数据位。
我希望收集一些关于使用自定义属性是否是一种好的做法的反馈,以及一些替代方法。
看起来它确实可以简化 服务器 端和客户端代码,但它也不符合 W3C。
我们是否应该在 Web 应用程序中使用自定义 HTML 属性?为什么或者为什么不?
对于那些认为自定义属性是件好事的人:使用它们时要记住哪些事项?
对于那些认为自定义属性是坏事的人:你用什么替代方法来完成类似的事情?
更新: 我最感兴趣的是各种方法背后的 推理 ,以及为什么一种方法比另一种更好。我想我们都可以想出 4-5
种不同的方法来完成同样的事情。(隐藏元素、内联脚本、额外类、从 id 解析信息等)。
更新 2: 似乎 HTML
5data-
属性功能在这里有很多支持(我倾向于同意,它看起来是一个可靠的选择)。到目前为止,我还没有看到太多反驳这个建议的方式。使用这种方法是否有任何问题/陷阱需要担心?还是仅仅是对当前
W3C 规范的“无害”失效?