3

値の 1 つが である JSON オブジェクトを受け取りましたnull。JSON は次のようになります。

[{"id":"1096","price":null,

現在、NULL次のコードで文字列を Web ページに出力しています。(Backbone.js/Underscore.js のテンプレート エンジンを使用しています)

<div class="subtitle">$<%= price %></div>

divnopriceが返された場合は全体を非表示にしたいので、次の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 に答える