> I didn't mean to be rude, it's just a tip. > > It is there on the docs page under 'Visibility Filters:', right after > the left sidebar content ends. > > Invisible elements are the ones that have display:none or inputs of > type 'hidden'. > > As Josh pointed out, you can use is() to check an existing object for > the property, I thought you would figure that out (http:// > docs.jquery.com/Traversing). I did some testing and it works for both > toggle() and slideToggle(); when the element slides up it ends with > display:none too. Make sure you are referencing the right object, a > child of a hidden element will be considered ':visible' even if it's > actually hidden by the parent.
It's a timing issue. I incorrectly assumed slideToggle() completed the animation before it returns. If you immediately test the state of a control after toggling it you get the wrong answer since it hasn't finished sliding it closed yet. Thanks for the help everyone