【问题标题】:How to preserve the case of a data attribute?如何保存数据属性的大小写?
【发布时间】:2015-02-06 04:34:47
【问题描述】:

html 对象:

 <div data-myAttribute="test"></div>

代码:

 var $o = $("div");

 $.each($o.data(),function(k,v){
    console.log(k); 
    //writes 'myattribute' instead of 'myAttribute'
 });

如何保留属性的大小写?

【问题讨论】:

  • 你应该使用data-my-attribute来获取.data('myAttribute')
  • 看看here
  • @A.Wolff 谢谢,这似乎对我有所帮助。尽管根据答案,它不能使用
  • @ControlFreak data-my-attribute 是关于规范的完全有效的属性名称:For each name on the list, for each U+002D HYPHEN-MINUS character (-) in the name that is followed by a character in the range U+0061 to U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z), remove the U+002D HYPHEN-MINUS character (-) and replace the character that followed it by the same character converted to ASCII uppercase.
  • @A.Wolff 我会把你的 cmets 作为答案,因为它回答了 OP 的意图(并且也符合我想要的)

标签: jquery html custom-data-attribute jquery-data


【解决方案1】:

有效的 HTML 数据属性无论如何都不能包含大写字符:

来自W3

自定义数据属性是没有名称空间中的属性 以字符串“data-”开头,后面至少有一个字符 连字符,与 XML 兼容,并且 范围内不包含任何字符 U+0041 到 U+005A(拉丁文大写字母 A 到拉丁文大写字母 Z).

【讨论】:

    【解决方案2】:

    你不能。属性名称在 HTML5 中总是小写。

    【讨论】:

      【解决方案3】:

      如果您的目标是将myAttribute 定位为dataset 属性的键,则应使用data-my-attribute

      <div data-my-attribute="test"></div>
      

      有关 camelCased 规则,请参阅以下链接: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset

      PS:正如Izkata 评论的那样:

      供其他人参考,jquery 也进行转换,使得 $div.data('my-attribute') 返回与 $div.data('myAttribute')。香草 javascript 数据集属性确实 不要这样做。

      【讨论】:

      • 我选择了你的答案,因为它很有用并且做了我需要做的事情。谢谢。
      • 供其他人参考,jquery 也进行转换,使得$div.data('my-attribute') 返回与$div.data('myAttribute') 相同的内容。 vanilla javascript dataset 属性不这样做。
      【解决方案4】:

      作为@A. Wolff 答案的附录,如果您想要前导大写字母,可以将-- 应用于数据属性名称。

      <div data--my-attribute="test"></div>
      

      将产生MyAttribute的数据键

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 2014-04-18
        相关资源
        最近更新 更多