【问题标题】:How to check if the element is visible如何检查元素是否可见
【发布时间】:2017-01-01 09:31:22
【问题描述】:

使用javascript,我如何知道我的element 是否可见。我正在使用$('#element').hide();$('#element').show(); 来隐藏或显示一个元素。如何检查 element 是否显示?该元素在模态中。我试图更改不在模态中的元素并且它起作用了,但是当我将元素放入模态时它不起作用..

我尝试使用此代码,但它不起作用。

    <div class="well me">
         <label for="majore">Major Exam</label>
            <div class="input-group">
                 <input type="text" class="form-control majore" id="majore" oninput="total();"/>
            <span class="input-group-addon">
              <i class="fa fa-percent"></i>
             </span>
              </div>
     </div>

     <script>
            if ($('.me').is(':visible')) {                          
                  mt = m / 100 * 50 + 50;
                } 
    </script>

【问题讨论】:

  • $('#element').is(':visible')
  • majore 是一个标记名吗?
  • @PranavCBalan 我已经尝试过了。但它不起作用。
  • 你忘记#了吗?
  • @nethken : 你能在 sn-p 中重现这个问题吗?

标签: javascript jquery


【解决方案1】:
 "none" == document.getElementById("element").style.display //Check for hide

 "block" == document.getElementById("element").style.display //Check for show

你也可以这样使用

  if ($('#element').css('display') == 'none') {
    alert('element is hidden');
 } 

【讨论】:

    【解决方案2】:

    检查显示:[none|block],忽略可见:[true|false]

    $('#element').is(":visible"); 
    

    【讨论】:

    • #majore you got the #
    【解决方案3】:

    看来你的选择器是错误的。

    $("[element]").is(":visible") 示例如下:(供参考)

    $("#show").on("click", function() {
      $("#text").show();
    })
    $("#hide").on("click", function() {
      $("#text").hide();
    })
    $("#getStatus").on("click", function() {
      alert($("#text").is(":visible"));
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="text">Hello</div>
    <button id="show">Show</button>
    <button id="hide">Hide</button>
    <button id="getStatus">Get Status</button>

    【讨论】:

    • 我的 div 我正在尝试检查是否在模态中先生。
    【解决方案4】:

    $('.me') 是一个类选择器,它将返回 elementsarray,其中元素具有类 me

    因此,您需要使用this 或使用index 来定位特定的div,因为可以有许多elements 具有相同的class name

    $('.me').is(':visible') 这将检查第一个元素并根据第一个元素的可见性返回结果。

    你可以试试

    $(".me").eq(1).is(':visible')    //Here 1 is index of div which can vary
    

    $(this).is(':visible')
    

    【讨论】:

    • 先生。我试图检查的元素在模态中。是问题的原因吗?
    • 当您尝试检查时,模态是否可见。
    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 2014-04-22
    • 2020-08-06
    • 2012-04-21
    • 2011-02-08
    • 2010-10-03
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多