アンダースコア_.template
は空白に対して何もしないので、必要な出力に一致するようにテンプレート内の空白を配置する必要があります。このようなもの:
<a>NAME</a><% if(some_condition) { %> yours <% } else { %> <a class="name" href="/kkk/<%- ID %>"><%= NAME %></a> <% }%>
デモ (コンソールを見てください): http://jsfiddle.net/ambiguous/gbx3M/
またはより読みやすい:
<a>NAME</a><%
if(some_condition) {
%> yours <%
} else {
%> <a class="name" href="/kkk/<%- ID %>"><%= NAME %></a> <%
} %>
デモ (コンソールを見てください): http://jsfiddle.net/ambiguous/xuxLQ/
タグ間にスペースがまったく必要ない場合は、次のように固執していると思います。
<% if(some_condition) {
%><a>NAME</a>yours<%
} else {
%><a>NAME<a class="name" href="/kkk/<%- ID %>"><%= NAME %></a><%
} %>
先頭/末尾の空白を手動で削除します: http://jsfiddle.net/ambiguous/LN7eU/
もう 1 つのオプションは、CSS を使用して要素をフロートおよび配置し、空白が無関係になるようにすることです。
これらのオプションのどれもが十分でない場合は、Underscore の (意図的に) シンプルで最小限のテンプレートが適していない可能性があります。