我正在学习JS / Jquery,并且试图在单击表单的一部分时使表单的一部分显示和隐藏。我能够打开表格的一部分,但无法再次关闭。

由于在控制台中没有显示错误。我想知道人们将如何调试此类错误?

表格:

<div class="col col-sm-4 more-options">Detailed options</div>

<div class="row advanced-options">
  #part of the form to open and close
</div>

JS / jQuery代码:
$(".more-options").click(function(){
    if ('.advanced-options:hidden') {
        $('.advanced-options').show();
    } else {
        $('.advanced-options').hide();
    }
});

最佳答案

因此,您的代码中的内容基本上是if语句的每个时间真实值。

想象以下情况:

if ('.advanced-options:hidden') {
  console.log(`I'm true`);
} else {
  console.log(`I won't be showed up anywhere`);
}


从技术上讲,string被评估为true值,这在代码中引起了您的问题。

我猜解决方案如下:
$(".more-options").click(function(){
  if ($('.advanced-options').is(':hidden')) {
    $('.advanced-options').show();
  } else {
    $('.advanced-options').hide();
  }
});

在其他情况下,可以使用 console.log() 步骤,在该步骤中您不确定代码中包含哪些值以进行进一步调试。

我希望这有帮助!

关于javascript - 单击时隐藏/显示表单的一部分。如何调试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59336337/

10-10 01:22