我正在尝试修改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>"
和"</span>"
作为文本输出,而不是HTML,因此我最终会在页面上显示以下文字:
&LT;跨度&GT;快乐&LT; /跨度&GT;&LT;跨度&GT;悲伤&LT; /跨度&GT;&LT;跨度&GT;多达&LT; /跨度&GT;&LT;跨度&GT;唐氏LT; /跨度&GT;
在此语法中是否有任何方法可以将包装<span>
标记输出为HTML?
更新:使用常规(非模板)语法,只需将wrappedTags
写入页面http://jsfiddle.net/4QtUd/即可。但是,我无法弄清楚在模板语法中执行此操作的等效方法。
答案 0 :(得分:1)
你可以这样做,直接在循环中输出。
<% var tagString = "Happy Sad Up Down", tags = tagString.split(" "); %>
<p>
<% for (var i = 0; i < tags.length; i++) { %>
<span><%= tags[i] %></span>
<% } %>
</p>
答案 1 :(得分:0)
尝试将您的<
和>
替换为HTML实体。
http://www.w3schools.com/html/html_entities.asp
基本上是:< -> <
和> -> >