Hi there. Best (or fastest) way to find out if something is in the DOM is to check:
if ( $("#createNewAccount").length ) If .length is greater than 0 it will exist. So your script can read: $(document).ready(function() { if ( $('#createNewAccount:checked').length || !$ ('#createNewAccount').length ){ $('div.showHideAccountDetails').show(); }else{ jQuery('div.showHideAccountDetails').hide(); } }); Ie, if it finds ( '#createNewAccount' that is checked ) OR ( it can't find any '#createNewAccount' ) { show the div } otherwise { hide it } Hope this helps! Hamish On Jun 20, 2:10 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > Hi all. I've done some searching, but being new to this am struggling > to find what I'm after even though I'm sure the answer is simple. > > I'm in at the deep end working with a webapp that uses JQuery, I > presume with various plugins for form validation. I have some code as > follows: > > jQuery(document).ready(function() { > > if ($("#createNewAccount").is(":checked")){ > jQuery('div.showHideAccountDetails').show(); > }else{ > jQuery('div.showHideAccountDetails').hide(); > } > > } > > But in some situations the variable 'createNewAccount' does not exist, > as the form element is not shown on the page. How can I test the > variable first? I'm thinking of something along the lines of: > > if ( isDefined ( "#createNewAccount") ) { // continue... } > > Many thanks for any help!