[jQuery] .show() does not work, but getElementById(id).style.display="block" does work

[jQuery] .show() does not work, but getElementById(id).style.display="block" does work


Here is my .ready function using tabs and a class of .remote to start
using the history plugin
// Show and hide product grids
$(document).ready(function() {
$(".remote").click(function(event) {
     document.location.hash=this.title;
     show_subcat_menu();
     toogle_subcat_ul('ul_sub_category_'+this.id.replace(/\|/g,'_')); //
replace all pipes with underscore chars
});
});
And specifically that function calls this to help show and hide some
navigation elements with context.
function toogle_subcat_ul(id) {
    $("[id^=ul_sub_category_]").hide();
    $(id).show(); // does not work
    document.getElementById(id).style.display="block"; // does work
}
Any ideas why the display=block works while the jQuery show() does
not. Any ideas?
Thanks!
Jim