【问题标题】: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/
【解决方案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 来隐藏文本和一次输入。如果您愿意,您可以将文本包装在标签标签中以便更清晰地输出。