3

我收到一个 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>
<% } %>

if我怀疑这与在 Underscore.js 的模板中使用语句有关

4

3 回答 3

4

呃,你不想要(没有感叹号)

<% if (price) { %>
    <div class="subtitle">$<%= price %></div>
<% } %>

因为你现在说如果没有价格然后显示价格......这是没有意义的。

于 2012-07-12T14:04:56.987 回答
2

null不是undefined

如果您的 json-object 被正确解码,那么检查(price)or(price != null)应该没问题。

于 2012-07-12T14:01:08.417 回答
1

不应该是==(在这种情况下!==)进行比较吗

<% if (price !== null) { %>
    <div class="subtitle">$<%= price %></div>
<% } %>

例如查看这条 Jsbin.com行的警告

于 2012-07-12T14:10:18.420 回答