1

我正在尝试修改 JavaScript 模板,以便特定字符串中的每个单词都包含在<span>元素中。我有:

<% var tagString = "Happy Sad Up Down", tags = tagString.split(" "), wrappedTags = ""; %>
<% for (var i = 0; i < tags.length; i++) { %>
    <% wrappedTags += "<span>" + tags[i] + "</span>"; %>
<% } %>
<p><%=wrappedTags%></p>

问题是这会将"<span>"and输出"</span>"为文本,而不是 HTML,所以我最终会在页面上显示以下文本:

<span>快乐</span><span>悲伤</span><span>向上</span><span>向下</span>

此语法中是否有任何方法可以将包装<span>标签输出为 HTML?


更新:使用常规(非模板)语法,如果我简单地写入wrappedTags页面,它就可以工作:http: //jsfiddle.net/4QtUd/。但是,我无法找出在模板语法中执行此操作的等效方法。

4

2 回答 2

1

你可以做这样的事情,直接在循环中输出。

<% var tagString = "Happy Sad Up Down", tags = tagString.split(" "); %>
<p>
<% for (var i = 0; i < tags.length; i++) { %>
    <span><%= tags[i] %></span>
<% } %>
</p>
于 2012-10-23T20:11:16.273 回答
0

尝试将您的<and替换>为 HTML 实体。 http://www.w3schools.com/html/html_entities.asp

所以基本上:< -> &lt;> -> &gt;

于 2012-10-23T14:38:16.000 回答