一尘不染

JavaScript自定义属性-是或否?

javascript

最近,我阅读了越来越多的关于人们在其HTML标记中使用自定义属性的信息,主要目的是为了嵌入一些额外的数据以供javascript代码使用。

我希望就使用自定义属性是否是一种好习惯以及一些替代方法收集一些反馈。

现在看来似乎真的可以简化 服务器端和客户端的代码,但它也不是W3C标准。

我们是否应该在Web应用程序中使用自定义HTML属性?为什么或者为什么不?

对于那些认为自定义属性是一件好事的人:使用它们时要记住哪些注意事项?

对于那些认为自定义属性是一件坏事的人:您使用什么替代方法来完成类似的任务?

更新: 我最感兴趣的是各种方法背后的原因,以及为什么一种方法优于另一种方法的要点。我认为我们所有人都可以提出4-5种不同的方法来完成同一件事。(隐藏的元素,内联脚本,额外的类,从id解析信息等)。

更新2: 似乎HTML 5data-属性功能在这里得到了很多支持(我倾向于同意,它看起来是一个可靠的选择)。到目前为止,我对这种建议的反驳方式还很少。使用此方法是否有任何问题/陷阱值得担心?还是仅仅是对当前W3C规范的“无害”无效?


阅读 294

收藏
2020-04-25

共1个答案

一尘不染

HTML 5明确允许以开头的自定义属性data。因此,例如,<pdata-date-changed="Jan245:23p.m.">Hello</p>有效。由于它已由标准正式支持,因此我认为这是自定义属性的最佳选择。并且不需要您通过hack重载其他属性,因此HTML可以保持语义。

2020-04-25