我最近注意到chrome转换数据属性data-*
为小写。
e.g.
<div data-Me="awesome"></div>
将被转换为<div data-me="awesome"></div>
在 Chrome 开发工具中。
当我用 javascript 调用该属性时:
console.log(e.hasAttribute('data-Me'),e.hasAttribute('data-me'));
都返回true.
那么命名数据属性的标准方法是什么?
您应该始终使用小写字符。尽管某些浏览器会自动纠正标记中的错误(Chrome 在这里就是这样做的),但它可能会导致错误并且不是有效的 HTML5。
从MDN https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#data-*:
- 名称不得以 xml 开头,无论使用大小写
信件;
- 该名称不得包含任何分号 (U+003A);
- 名字
不得包含大写 A 到 Z 字母。
EDIT
经过更多研究后我发现this http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#custom-data-attribute:
HTML 文档中 HTML 元素的所有属性名称
ASCII 自动小写,因此对 ASCII 大写的限制
信件不影响此类文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)