1

遇到了一个奇怪的小问题。

我想在一个项目上创建文本悬停以显示该项目的“描述”,这是该项目模型的一个属性。所以在我看来,我基本上是这样做的:

<div title=<%= item.description %> ><%= item.name %></div>

奇怪的是,虽然所有模型调用都正常工作(item.name 和 item.description 调用了正确的东西),但当我悬停时,只有 item.description 的第一个单词出现。换句话说,如果 item.description 是“这是一个超级酷的项目!”,当我用 item.name 将鼠标悬停在该 div 上时,悬停只会显示“This”。

这可能与 :description 属性有关,该属性当前是文本类型(我认为它是用于长字符串,就像我的描述一样)。但也许不是。

知道为什么会发生这种情况,以及如何解决吗?

4

4 回答 4

7

在 div 标签中插入标题的双引号

<div title="<%= item.description %>" ><%= item.name %></div>
于 2012-10-24T18:41:07.443 回答
5

我认为您需要在视图中添加对 HTML 的引用。如果您在生成的 HTML 上查看源代码,我敢打赌它看起来像这样:

<div title=This is a super cool item! >

浏览器会将其解释为div具有title值为的 a This,然后是名为isasupercool和的属性item!

如果您将视图更改为:

<div title="<%= item.description %>" >

那么您生成的 HTML 应该如下所示:

<div title="This is a super cool item!" >
于 2012-10-24T18:41:29.880 回答
2

更改此行:

<div title=<%= item.description %> ><%= item.name %></div>

对此:

<div title="<%= item.description %>" ><%= item.name %></div>
于 2012-10-24T18:41:11.157 回答
0

如果您的字符串不止一个单词,并且想在 html 页面上显示它,您需要将标签放在循环中,而不是简单的方法,假设字符串是:

mystring='this is my string'

那么应该写(在html上):

value= "{% for n in mystring.split()%}{{n}} {% endfor %}"

代替

value={{my_string}}

注意不要忘记“”

更一般的形式应采用以下形式

value= "{% for n in mystring.split()%}{{n}}XXX{% endfor %}"

其中 XXX 是字符串变量(例如:XXX='', XXX='*', XXX='abs')

于 2021-11-14T13:55:17.127 回答