代码之家  ›  专栏  ›  技术社区  ›  yogsma

隐藏文本区域验证

  •  -1
  • yogsma  · 技术社区  · 15 年前

    如何使用javascript检查文本区域是否隐藏?

    5 回复  |  直到 15 年前
        1
  •  1
  •   JonathanK    15 年前
    var textArea = document.getElementById('textAreaId');
    
    if (textArea.currentStyle.visibility === 'hidden' || textArea.currentStyle.display === 'none')
    {
       /* code */
    }
    
        2
  •  1
  •   Sampson    15 年前
    var myBox = document.getElementById("myBox");
    if (myBox.currentStyle.display === "none" || myBox.currentStyle.visibility === "hidden") {
      alert("Box is invisible");
    }
    

    ——与…一起工作

    <textarea id="myBox">Lorem ipsum doloet set amit</textarea>
    
        3
  •  0
  •   yogsma    15 年前

    如果你有两个ID相同的元素,Internet Explorer会有点困惑。虽然在Firefox中工作正常,但在Internet Explorer中却不正常。我更改了textfarea的ID,它现在正在工作。

    谢谢大家。

        4
  •  0
  •   Mic    15 年前

    你试过elm.getboundingclientrect()吗?

    如果元素或父元素具有display:none,它将给出所有零值。
    可见性:隐藏元素,然后有一个boundning矩形。

    <html>
    <head>
        <title>hidden</title>
    </head>
    <body>
    <div style="display:none">
        <form>
            <textarea></textarea>
        </form>
    </div>
    <script>
      var rect = document.getElementsByTagName('TEXTAREA')[0].getBoundingClientRect();
      alert(rect.right === 0 ? 'hidden':'visible');
    </script>
    </body>
    </html>
    
        5
  •  -1
  •   EpicDewd    15 年前

    如果您的CSS没有将其设置为显示:none;,它不是一开始就没有隐藏吗?

    如果您想隐藏或显示它,您应该可以使用一些jquery:

    $(document.body).css( "display", "none" );
    

    $(myForm.elements).hide()
    

    等等。