jQuery切换不能正确切换

时间:2017-10-18 05:34:39

标签: javascript jquery

Examplation

根据我的理解,您可以检查变量是否具有真值。这意味着 if(value){ }

如果值不是,

将评估为true:

  • undefined
  • 的NaN
  • 空字符串("")
  • 0

在我的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 != "");

但是我很困惑为什么原版不起作用

1 个答案:

答案 0 :(得分:2)

falsey false不完全相同。

typeof falseboolean,而falsey可能为numberstring

只需尝试

$("#AccountDetails").toggle(Boolean(data.Name)); 

$("#AccountDetails").toggle(!!(data.Name));