Warum sieht der Code nicht so aus:
Weil du den click-Event-Handler erst dann zuweisen kannst, wenn der Browser das Element geparst und im DOM registriert hat(es muss da sein).
Das ist aber -wie ich festellen musste- nicht immer so:
Dann wird show und hide wohl einen asynchronen Vorgang starten, den du nicht mehr siehst, weil du dem Link folgst.
Wenn man das //return false; auskommentiert, funktioniert der Code wie gewollt (ein hide wird nach slow ausgeführt, usw..) aber man bleibt auf der Seite...
Das return false verhindert die Default-Aktion des Anker-Tags.