我最近注意到chrome将数据属性转换data-*为小写.
例如
<div data-Me="awesome"></div>将<div data-me="awesome"></div>在Chrome Dev Tools中转换为.
当我用javascript调用属性时:
console.log(e.hasAttribute('data-Me'),e.hasAttribute('data-me'));
两者都归实为真.
那么命名数据属性的标准方法是什么?
dam*_*zzi 18
您应该始终使用小写字符.即使某些浏览器会自动纠正标记中的错误(这就是Chrome在这里为您所做的),但它可能会导致错误并且无效HTML5.来自MDN:
编辑
更深入地进入它我发现了这个:
HTML文档中HTML元素的所有属性名称都会自动进行ASCII小写,因此对ASCII大写字母的限制不会影响此类文档.
无论如何,我建议您从一开始就以正确的方式进行.
小智 9
HTML5 标签和属性不区分大小写。
从浏览器供应商那里获取信息毫无意义。相反,您应该直接从源(W3C 标准)获取该信息:http : //w3c.github.io/html-reference/documents.html#case-insensitive
您可以使用 XHTML 或 HTML5。从网页加载的角度来看,目前只有 HTML5 有意义。
在采用 HTML 语法的文档中: • HTML 元素的标签名称可以用小写和大写字母的任意混合书写,这些字母与本文档 HTML 元素部分中给出的元素名称不区分大小写。也就是说,标签名称不区分大小写。• HTML 元素的属性名称可以用小写和大写字母的任意混合书写,这些字母与本文档的 HTML 元素部分中给出的属性名称不区分大小写。也就是说,属性名称不区分大小写。