【问题标题】:Adding custom attributes to HTML tags向 HTML 标签添加自定义属性
【发布时间】:2014-03-06 19:51:57
【问题描述】:

我一直在使用数据属性在 HTML 中添加自定义属性。不幸的是,旧浏览器不支持数据。

另外,在 HTML 中创建自定义属性有什么缺点?

作为一个例子,我在 HTML 中创建了 carType = 'nissa' 作为一个属性,并且我能够利用 element.getAttribute(attributename) 使用 javascript 来解析它

它似乎适用于我测试过的所有浏览器。此工作流程的负面影响是什么?

【问题讨论】:

  • 你不能对数据属性也这样做吗? data-carType = 'nissa' 然后element.getAttribute('data-carType')
  • 考虑使用data-* 属性。它们是向元素添加数据的标准方式。
  • @Musa 大写字母是不允许的。
  • @Brad 我明白了。但它也说:All attribute names on HTML elements in HTML documents get ASCII-lowercased automatically, so the restriction on ASCII uppercase letters doesn't affect such documents.
  • @kapa 我不了解你,但我更喜欢我的文档与 XML 保持兼容。它并没有改变不允许大写元素的事实……只是 HTML 解析器对你很好。

标签: javascript html


【解决方案1】:

data- attributes are supported even in older browsers. (见注)

您可以使用您描述的方式简单地获取它们:

element.getAttribute('data-xy')

使用非标准属性的不利方面是它们会使您的 HTML 无效。验证是一种非常有用的工具,可用于发现标记中的问题。如果您使用HTML5 doctype(即使在旧浏览器中也可以安全地使用),使用data- 属性将帮助您保持标记有效。

More information on MDN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    相关资源
    最近更新 更多