【发布时间】:2014-01-08 01:07:55
【问题描述】:
我正在尝试使我的 JavaScript 编码风格尽可能地符合我的 Zend 编码风格,它使用的是 camelCase。因此,在我的 HTML5 数据属性中,我将它们命名为如下示例:
<button class="action" data-actionClass="user" data-actionMethod="delete" data-actionRequest="/user/delete/user-id/1" data-actionComplete="{reload:users}">Delete User #1</button>
<div id="users" data-reloadRequest="/user/index"> ... </div>
利用 Jquery 执行操作的相当不显眼的方式,但是当我调用 $('.action').data() 时,属性名称会转换为小写。
有什么解决方法吗?
我从来没有想过 JavaScript 变量中应该有破折号,我不明白为什么 jQuery 在内部为我做这个?或者可能是 HTML5?
【问题讨论】:
-
不要对你的 html 标记进行驼峰式命名。在标记中使用破折号(例如
data-action-method而不是data-actionMethod),它将被正确转换 -
不将大写字母添加到自定义数据属性名称中的 MDN 参考 - "the name must not contain capital A to Z letters."
标签: javascript jquery html