我正在使用带有rails的jQuery并拥有以下代码
$('#related').html("<%= render :partial => "related_items" %>");
我在浏览器中遇到问题,只有当部分中没有换行符时才会替换#related元素的内容。
这不是什么大不了的事,我可以将所有内容放在一行,但这会使代码难以阅读。
有没有办法在jQuery html()属性中省略换行符?
答案 0 :(得分:3)
这里发生的事情是首先由Rails解释<%
和%>
之间的代码,并将该解释的输出发送到浏览器。那么发送到浏览器的是:
$('#related').html("Some text with a
line break in it");
这不是有效的javascript,因为javascript不允许使用多行双引号字符串。你需要转义字符串中的换行符,这样当它们打印到浏览器时,结果就是一个有效的javascript语句。
答案 1 :(得分:2)
为了完整起见,这就是我为使事情发挥作用而做的事情。
$('#related').html("<%= escape_javascript(render :partial => "related_items") %>");
答案 2 :(得分:0)
...等等,是不是应该在javascript运行之前处理的代码?或者您是否出于教育原因尝试以纯文本格式打印代码?