【发布时间】:2010-11-02 18:56:34
【问题描述】:
最近我读到越来越多的人在他们的 HTML 标记中使用自定义属性,主要是为了嵌入一些额外的数据位以在 javascript 代码中使用。
我希望收集一些关于使用自定义属性是否是一种好习惯以及一些替代方法的反馈。
它似乎真的可以简化服务器端和客户端代码,但它也不符合 W3C。
我们应该在我们的网络应用程序中使用自定义 HTML 属性吗?为什么或为什么不?
对于那些认为自定义属性是件好事的人:使用它们时有哪些注意事项?
对于那些认为自定义属性不好的人:您使用哪些替代方法来完成类似的事情?
更新:我最感兴趣的是各种方法背后的推理,以及为什么一种方法比另一种更好。我认为我们都可以想出 4-5 种不同的方法来完成同样的事情。 (隐藏元素、内联脚本、额外类、从 id 解析信息等)。
更新 2: 似乎 HTML 5 data- 属性功能在这里有很多支持(我倾向于同意,它看起来是一个可靠的选择)。到目前为止,我还没有看到太多反驳这个建议的方式。使用这种方法是否有任何问题/陷阱需要担心?还是仅仅是对当前 W3C 规范的“无害”失效?
【问题讨论】:
-
老实说,我最初的立场是他们不是那么坏的东西,这可能会引起纯粹主义者的争议。不过,我觉得我真的需要坐下来评估所有可用的选项来正确支持这一点,因此需要写一篇长文。
-
要做到这一点,您可能只需要一些反例[s]:您正在尝试实现什么,使用自定义属性如何方便地做到这一点,以及为什么该解决方案更好 并且不比其他没有自定义属性的解决方案差。
-
@ChrisW 我问主要是出于兴趣,而不是出于某些特定的应用程序。
-
嗯,有很多选项可以将数据获取到客户端:隐藏输入字段、隐藏定义列表、类、元数据插件、拥有一个包含所有数据映射的巨大 Javascript 字典(对象)分别,自定义属性,数据属性(HTML5)等。我想探索所有这些,考虑它们的优点,它们的缺陷,最后得出一个结论。这篇文章终于让我开始写这篇文章了。 :) 应该在 2010 年之前完成。
-
@Paolo 你不能只说你写了一篇回答这个问题的文章而不给我们链接。不酷。
标签: javascript html xhtml custom-attribute