我的Rails视图中有一个DOM元素,我想使用Jquery访问data属性。
Rails查看示例:
<% @comments.each do |comment| %>
<a class="comment" data-user_comment = <%= comment.content %> ><%= comment.updated_at %> - <%= comment.content %></a>
<% end %>
JQuery示例:
$('.comment').click(function(){
alert($(this).attr("data-comment"));
})
这是非常标准的,但我的问题是如果data属性有空格,则alert只显示第一个单词。 Rails似乎没有将comment.content呈现为字符串,这是Rails的正常行为还是我错过了一些大事?!
答案 0 :(得分:2)
你需要把它作为:
<a class="comment" data-user_comment = "<%= comment.content %>" ><%= comment.updated_at %> - <%= comment.content %></a>
缺少报价。在缺少引号时,只会采用第一个单词,其余的则被视为不同的属性。
所以在使用fire bug时你可以看到你的评论有:“Lorem Ipusem”data-user_comment的值是“Lorem”而Ipusem本身就变成了一个空白值的attr(Ipusem =“”)。