26

how can i check a if an element is visible or hidden with jquery and perform some action?

below given is my form related code,

<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>

i need to hide the full name text field when first name text field or last name text field is displaying.

2

5 Answers 5

8

try something like this

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

for your code

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

REFERENCE

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

Sign up to request clarification or add additional context in comments.

2 Comments

lasttname? It seems you copy pasted the typo :-)
@Vishal solved it ...
1
if($('input[name="firstname"], input[name="lastname"]').is(':visible') === true)
    $('input[name="fullname"]').hide();

Comments

0

you should change

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

to make an input field hidden

Comments

0

this should work $(element).is(":visible")

Comments

0

I don't know the logic behind your question, but this demo should do the trick. DEMO

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

})

I added some parent divs to hide the text and the input on once. If you want you can wrap the text in label tag for more clearly output.

Comments