【问题标题】:do something if element hidden [duplicate]如果元素隐藏则做某事[重复]
【发布时间】:2014-01-13 06:17:56
【问题描述】:

如何使用 jquery 检查元素是否可见或隐藏并执行某些操作?

下面给出的是我的表单相关代码,

<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
Full name: <input type="text" name="fullname"><br>
DOB: <input type="text" name="dob">
Address: <input type="text" name="address">
</form>

当显示名字文本字段或姓氏文本字段时,我需要隐藏全名文本字段。

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

试试这样的

if($('#testElement').is(':visible')){
   //what you want to do when is visible
}

为您的代码

if($('input[name="firstname"], input[name="lastname"]').is(':visible')){
  $('input[name="fullname"]').hide();
}

参考

http://api.jquery.com/visible-selector/

【讨论】:

  • 姓氏?看来您复制粘贴了错字:-)
  • @Vishal 解决了它...
【解决方案2】:
if($('input[name="firstname"], input[name="lastname"]').is(':visible') === true)
    $('input[name="fullname"]').hide();

【讨论】:

    【解决方案3】:

    你应该改变

    <input type="text" name="fullname"> 
    to 
    <input type="hidden" name="fullname">
    

    隐藏输入字段

    【讨论】:

      【解决方案4】:

      这应该可以$(element).is(":visible")

      【讨论】:

        【解决方案5】:

        我不知道你的问题背后的逻辑,但这个演示应该可以解决问题。 DEMO

        $(document).ready(function(){
        if($('#firstname').is(':visible') || $('#lastname').is(':visible'))
            $('#fullname').parent().hide();
        
        })
        

        我添加了一些父 div 来隐藏文本和一次输入。如果您愿意,您可以将文本包装在标签标签中以便更清晰地输出。

        【讨论】:

          猜你喜欢
          • 2017-08-24
          • 2011-08-16
          • 2013-09-04
          • 2013-06-15
          • 1970-01-01
          • 2016-04-16
          • 1970-01-01
          • 2021-07-14
          相关资源
          最近更新 更多