0

我有一个呈现 Ruby 部分的 .js.erb 文件。现在,一切正常,第一行是

<%# encoding: utf-8 %>

稍后当我添加该行时

$("#name").text("Name &#x25BC;");

事情仍然有效,但 Unicode 以代码的形式出现,而不是我想要的字符。当我将上述内容替换为

$("#name").text("Name " + &#x25BC;);

部分只是拒绝渲染。我的 Ruby 控制台甚至说谎

  Rendered interface/_tan.erb (5.5ms)
  Rendered interface/tan_complete.js.erb (20.0ms)

为什么会这样?

4

1 回答 1

2

您似乎正在使用 jQuery。试试这个:

$("#name").html("Name &#x25BC;");

.text()方法设置innerText属性。该.html()方法设置innerHTML属性。HTML 实体在注入innerText属性时呈现为纯文本。

至于为什么$("#name").text("Name " + &#x25BC;);无法渲染,我相当确定&Ruby 语法中具有特殊意义(尽管我远非专家)并且#开始注释,因此该行可能在语法上不正确,从而导致导致部分无法渲染的错误。

于 2012-10-01T00:01:54.267 回答