Examplation
根据我的理解,您可以检查变量是否具有真值。这意味着 if(value){ }
如果值不是,将评估为true:
在我的javascript中;
$("#AccountDetails_Name").text(data.Name);
$("#AccountDetails").toggle(data.Name);
和这个HTML;
<div id="AccountDetails" class="alert alert-warning" style="display:none;">
<strong>Name:</strong> <span id="AccountDetails_Name">@Model.AccountName</span>
</div>
当我正在调试javascript时,我在该行的断点处切换了div的可见性,并且可以看到data.Name等于&#34; Tom Hanson先生&#34;。然而,div&#34; AccountDetails&#34;隐藏在视野之外。
发生了什么 当data.Name具有值
时,div不显示我想要发生什么 当data.Name具有valuwe
时,在表单上显示的div我做了什么来解决它 我改变了这一行
$("#AccountDetails").toggle(data.Name);
到
$("#AccountDetails").toggle(data.Name != null && data.Name != "");
但是我很困惑为什么原版不起作用
答案 0 :(得分:2)
falsey 与false
不完全相同。
typeof false
为boolean
,而falsey可能为number
和string
。
只需尝试
$("#AccountDetails").toggle(Boolean(data.Name));
或
$("#AccountDetails").toggle(!!(data.Name));