我收到一个JSON对象,其中一个值为null
。 JSON看起来像:
[{"id":"1096","price":null,
现在,它正在使用以下代码向网页输出NULL
字符串。 (我在Backbone.js / Underscore.js中使用模板引擎)
<div class="subtitle">$<%= price %></div>
因为如果没有返回div
我想要隐藏整个price
,我添加了if
语句:
<% if (price) { %>
<div class="subtitle">$<%= price %></div>
<% } %>
然而它似乎仍然输出div.subtitle
。我究竟做错了什么?我也试过以下但是没有用
<% if (typeof(price) != "undefined") { %>
<div class="subtitle">$<%= price %></div>
<% } %>
<% if (price != null) { %>
<div class="subtitle">$<%= price %></div>
<% } %>
<% if (price != "null") { %>
<div class="subtitle">$<%= price %></div>
<% } %>
我怀疑这与在Underscore.js模板中使用if
语句有关
答案 0 :(得分:4)
呃,你不想要(没有感叹号)
<% if (price) { %>
<div class="subtitle">$<%= price %></div>
<% } %>
因为你现在说如果没有价格,那就显示价格......这没有任何意义。
答案 1 :(得分:2)
null
不是undefined
!
如果你的json-object被正确解码,那么检查(price)
或(price != null)
应该没问题。
答案 2 :(得分:1)
不应该是==
(在这种情况下为!==
)进行比较
<% if (price !== null) { %>
<div class="subtitle">$<%= price %></div>
<% } %>
例如,查看此Jsbin.com行的警告