Esto : $("#nav a")
debría ser así: $("#nav li a") por una cuestion de jerarquia. Aunque no descarto que tu script funcione.
Cita: var href = $(this).attr("href");
$(this).attr({ href: "#"});
Esto que cito es absolutamente innecesario. Fijate que podes eliminar la funcionalidad de los links poniendo return false en tu script.
Y ahora que lo pienso, el iterar con un each puede que sea innecesario también. Probá así:
Cita: $("#nav li a").click(function(){
$("#show").load( $(this).attr("href") );
return false;
});