javascript - HTML 标签上的非标准属性。好东西?坏事?你的意见?

标签 javascript html standards

当涉及到标签上的非标准属性时,HTML(或者可能只是 XHTML?)相对严格。如果它们不是规范的一部分,那么您的代码将被视为不合规。

但是,非标准属性对于将元数据传递给 Javascript 可能非常有用。例如,如果链接要显示弹出窗口,您可以在属性中设置弹出窗口的名称:

<a href="#null" class="popup" title="See the Popup!" 
   popup_title="Title for My Popup">click me</a>

或者,您可以将弹出窗口的标题存储在隐藏元素中,例如 span:

<style>
    .popup .title { display: none; }
</style>
<a href="#null" title="See the Popup!" class="popup">
    click me
    <span class="title">Title for My Popup</span>
</a>

然而,对于哪种方法应该是首选方法,我感到很困惑。第一种方法更简洁,而且我猜它不会过多地影响搜索引擎和屏幕阅读器。相反,第二个选项使存储大量数据更容易,因此更通用。它还符合标准。

我很好奇这个社区的想法是什么。你如何处理这样的情况?第一种方法的简单性是否超过潜在的缺点(如果有的话)?

最佳答案

我非常喜欢所提议的 HTML 5 解决方案(data- 前缀属性)。编辑:我要补充一点,使用自定义属性可能有更好的例子。例如,自定义应用程序将使用的数据在标准属性中没有类似物(例如,基于不一定在 className 或 id 中表达的内容的事件处理程序自定义)。

关于javascript - HTML 标签上的非标准属性。好东西?坏事?你的意见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209428/

相关文章:

javascript - Angular UI 选择点击删除项目

javascript - 如何使用 css、html 和 jquery 创建标记样式?

c++ - 使用成员作为参数调用构造函数解析为变量定义

javascript - 在 GAE 上的 Go 中显示由 html/template 产生的换行符

基于 Java EE 7 表单的身份验证

c++ - 哪些存储类型不完整的 STL 数据结构可以用作类成员?

javascript - 如何在基于数组长度的条件渲染之前填充数组?

用于过滤图库的 Javascript 拼接

javascript - 如何创建一个嵌套的 javascript 对象动态设置属性名称

javascript - Heroku 应用程序错误 : An error occurred in the application and your page could not be served