如果元素隐藏则做某事[重复]

Posted

技术标签:

【中文标题】如果元素隐藏则做某事[重复]【英文标题】: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>

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

【问题讨论】:

很抱歉我之前没有看到这个答案。 :hidden, or :visible selectors api.jquery.com/category/selectors/visibility-filter-selectors 【参考方案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 来隐藏文本和一次输入。如果您愿意,您可以将文本包装在标签标签中以便更清晰地输出。

【讨论】:

以上是关于如果元素隐藏则做某事[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery如果下一个隐藏元素宽度类没有孩子做某事

jQuery - 隐藏元素但保持空间[重复]

如何使用jquery检查一个元素是不是隐藏[重复]

Android:隐藏元素[重复]

Selenium Webdriver C#,Chrome,图标隐藏元素并且不可点击[重复]

CSS溢出隐藏与父元素位置可见的奇怪效果[重复]