如果隐藏元素,请做一些事

时间:2013-12-25 08:00:26

标签: javascript jquery html

如何使用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>

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

5 个答案:

答案 0 :(得分:4)

尝试这样的事情

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/

答案 1 :(得分:0)

你应该改变

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

隐藏输入字段

答案 2 :(得分:0)

这应该有效$(element).is(":visible")

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

})

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