jQuery是否在内部将HTML5数据属性键转换为小写?

我试图尽可能地将我的JavaScript编码风格与我的Zend编码风格相符合,这是使用camelCase。 因此,在我的HTML5数据属性中,我将命名它们,如下例所示:

 
...

将Jquery用于操作的非常不引人注目的方式,但是当我调用$(’。action’)。data()时,属性名称将转换为小写。

这有什么变通方法吗?

我从不认为JavaScript变量应该包含破折号,我无法理解为什么jQuery在内部为我做这个? 或者也许是HTML5?

如果你使用

 data-action-method="delete" 

然后你可以访问该属性

 $('.action').data('actionMethod') 

这是HTML5 DOM API的一部分 :

使用以下规则将自定义数据属性转换为DOMStringMap条目的键:

  • 删除任何破折号(U + 002D);
  • 短划线(U + 002D)之后的任何字母,在删除之前,都以其大写对应方式设置。

首先,看看这部分 JQuery的源代码,它假设你有小写属性。

其次,按照惯例,所有HTML5属性都应该是小写的,请参阅: http : //www.htmlbasictutor.ca/html-tag-attributes.htm

最后,请注意,如果您坚持使用大写,可能会遇到更多问题,请参阅Django:无法在HTML输入元素中添加UPPERCASE属性名称