 <p>Just <code>return false</code> from the cancel handler.</p> <p>Otherwise the click event bubbles, and since the button is nested inside the <code>li</code> element that opens the form, both elements receive the click.</p> <p>The <em>cancel</em> button tries to <code>hide</code> it and then the <code>li</code> re-opens it..</p> <pre><code> $("#h-nav li#hn-contact #cancel").click(function() { $("#h-nav li#hn-contact").find("div.dd").hide(); return false; }); </code></pre> <p>demo at <a href="http://jsfiddle.net/gaby/5CpeW/2/" rel="nofollow">http://jsfiddle.net/gaby/5CpeW/2/</a></p> <hr> <p>Notice, since <code>id</code> are unique, you do not have to describe the hierarchy in your jquery selectors. Just use a selector from the last <code>id</code> and forward..</p>