【问题标题】:In jQuery, how can I tell if the current object is hidden or not?在 jQuery 中,如何判断当前对象是否隐藏?
【发布时间】:2010-10-05 10:56:55
【问题描述】:

在我打电话之前:

$('myObject').show();

我想知道它当前是隐藏还是可见。

【问题讨论】:

    标签: javascript jquery css


    【解决方案1】:

    您可以使用 css() 函数对此进行测试:

    if ($('myObject').css('display') == 'none') {
      $('myObject').show();
    }
    

    编辑:

    不知道 :hidden 选择器有多酷。我的建议对于测试其他属性仍然有用,但 Alex 的建议在这种情况下更好。

    【讨论】:

    • 我认为显示的值为“无”,或者可见性的值为“隐藏”。
    • :hidden 和 :visible 选择器检查显示和可见性以及隐藏输入。
    【解决方案2】:

    据我所知,有两种方法:

    if ($('#something').is(':hidden')) { }
    

    if ($('#something').is(':visible')) { }
    

    它们应该都可以工作。

    你也可以这样做:

    $('#something:hidden').show();
    $('#something:visible').hide();
    

    只有在项目已经隐藏时才会调用 .show(),如果项目已经可见,则只会调用 .hide()。

    【讨论】:

      【解决方案3】:

      您也可以使用 Toggle $(this).toggle();

      【讨论】:

      • +1,如果您只想切换对象的状态,这是一个非常简单的解决方案。
      【解决方案4】:

      来自jQuery FAQ

       var isVisible = $('myObject').is(':visible');
       var isHidden = $('myObject').is(':hidden');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 2012-10-16
        • 2021-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-09
        相关资源
        最近更新 更多