ben*_*ams 17 html jquery html5 ruby-on-rails custom-data-attribute
最近,我在rails应用程序中遇到HTML自定义数据属性的问题.我使用以下模式,以便将一些数据属性添加到html标记,并在稍后的javascript(jQuery)代码中使用它们:
= %a.name{ href: "url.com", data: {first_name: "ben", last_name: "amsalem} }
Run Code Online (Sandbox Code Playgroud)
在javascript代码中,我访问这些属性:
alert($(".name").data("first_name") + " " + $(".name").data("last_name"));
Run Code Online (Sandbox Code Playgroud)
在我的开发环境中它很顺利,我得到了预期的结果(过去我的生产环境也是如此),但在我当前的生产版本中,我得到了"未定义"的值.我检查了页面的HTML源代码,我看到我现在有类似的东西:
<a class="name" href="url.com" data-first-name="ben" data-last-name="amsalem" />
Run Code Online (Sandbox Code Playgroud)
代替:
<a class="name" href="url.com" data-first_name="ben" data-last_name="amsalem" />
Run Code Online (Sandbox Code Playgroud)
为什么会这样?是什么导致了变化?
Rob*_*bin 14
这是完全正常的,data: { first_name: "ben" }应该生产data-first-name="ben".
您访问此属性的最佳方式是使用.data("firstName"),但.data("first-name")也可以使用.
经过我所做的测试:似乎在开发中我有版本 3.2.9 的 gems,在生产中它是 3.2.12 -<a date-last_name/>这些版本之间的错误行为(转换为 )已修复,升级我的开发版本后我可以看到改变。