Javascript 检查元素是否可见

Javascript 检查元素是否可见,javascript,jquery,Javascript,Jquery,我试图让if语句起作用,这样当用户单击一个标题时,它会检查它是否打开,是否隐藏了主体,其他什么都没有 if ($(".faq-body",this).is(':visible')) { $(".faq-item").click(function() { $(".faq-body",this).hide(); }); } else { //something later } 您的if语句放错了位置,它应该在click事件中,如下所示: // Add

我试图让if语句起作用,这样当用户单击一个标题时,它会检查它是否打开,是否隐藏了主体,其他什么都没有

if ($(".faq-body",this).is(':visible')) {
    $(".faq-item").click(function() {
        $(".faq-body",this).hide();
    });
} else {
        //something later
}

您的if语句放错了位置,它应该在click事件中,如下所示:

// Adding this line to make sure we're binding this to $(document).ready()
$(function(){
  $(".faq-item").click(function(){
    if ($(".faq-body",this).is(':visible')) {
      $(".faq-body",this).hide();
    }
  });
}
这是假设
.faq body
位于
.faq项目


在您的版本中,它会在页面加载时立即检查条件,并且只有在一次成功时才绑定事件。

我感觉您的单击处理程序和if语句都是反向的。