You may be running into a situation where "shows" is not yet defined, so you're effectively binding the click handler to a null function. (Your context may cause this to be different, though.)
So, you could do as Jon suggested and put the function inside the click handler binding call. Or, you could move the shows function declaration above the click handler binding.
You could also be in a situation where some CSS styling is causing your "table" div to be invisible no matter what the "display" value is set to. (This could be margins, height, width, color, font-size, etc.)