我正在使用带有rails的jQuery,并具有以下代码

$('#related').html("<%= render :partial => "related_items" %>");


我在浏览器中遇到问题,其中#related元素的内容仅在partial中没有换行符时才被替换。

这没什么大不了的,我可以将所有内容放在一行上,但这使代码很难阅读。

有没有一种方法可以忽略jQuery html()属性中的换行符?

最佳答案

这里发生的是<%%>之间的代码首先由Rails解释,并且该解释的输出被发送到浏览器。因此,发送到浏览器的是:

$('#related').html("Some text with a
line break in it");


这是无效的javascript,因为javascript不允许多行双引号字符串。您需要对字符串中的换行符进行转义,以便在将它们打印到浏览器时得到有效的javascript语句。

10-02 11:49