jquery – rails和html数据属性:使用dash( – )或下划线(_)?

最近,我在rails应用程序中面临 HTML自定义数据属性的问题.我使用以下模式为了添加一些数据属性到html标签,并在我们的 javascript(jQuery)代码中使用它们:
= %a.name{ href: "url.com",data: {first_name: "ben",last_name: "amsalem} }

在javascript代码中,我访问了这些属性

alert($(".name").data("first_name") + " " + $(".name").data("last_name"));

在我的开发环境中,我会得到预期的结果(在过去我的生产环境中也是如此),但是在我目前的生产版本中,我得到“未定义”的值.
我检查了页面的HTML源代码,我看到我现在有这样的东西:

<a class="name" href="url.com" data-first-name="ben" data-last-name="amsalem" />

代替:

<a class="name" href="url.com" data-first_name="ben" data-last_name="amsalem" />

为什么会这样呢?是什么导致变化?

解决方法

这是完全正常的,数据:{first_name:“ben”}应该产生data-first-name =“ben”.

访问此属性的最佳方法是使用.data(“firstName”),但.data(“first-name”)也可以正常工作.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...