当我不评估字符串时,如何在Express中返回新行?
我知道<%- %>
不会转义字符,但如果我只是在运行循环并想在评估之前添加新行呢?
<% str = "" %>
<% for (var person in contacts) { %>
<% str += person; %>
<% for (subcategory in contacts[person]){ %>
<% str += ", " + contacts[person][subcategory]; %>
<% } %>
<% str += "\n"; %>
<% } %>
<h3><%= str %></h3>
我的行<% str += "\n"; %>
应该只是在字符串中添加一个新行。但它忽略了它(与\r
相同)。
答案 0 :(得分:0)
在编写HTML网页时,您应该打印一个添加一行(<BR>
)的标记
试试这个:
<% str = "<BR>" %>
答案 1 :(得分:0)
到目前为止,我发现我能做的最好的事情是使用\n
替换/foo/g
,其中foo
是我要替换的文字。
<% str = "" %>
<% for (var person in contacts) { %>
<% str += person; %>
<% for (subcategory in contacts[person]){ %>
<% str += ", " + contacts[person][subcategory]; %>
<% } %>
<% str += "\n"; %>
<% } %>
<% str = str.replace(/\n/g,'<br>'); %>
<h3><%- str; %></h3>
大注释:这假设我想要替换所有新的换行符。这不一定是真的。我仍然希望在每个for (subcategory in...)
循环后创建一个新行。
选项是将str += "\n";
替换为str += "xxyyzz";
...再次,假设我的字符串中没有其他要包含的实例将为xxyyzz
。