Mira, lo hice en HTML4 porque al 5 no lo manejo, pero tiene que andar igual. El modo de probarlo en local es un poco engorroso : una vez que abres la página, le escribes al final de la ruta (en la barra de direcciones) "#alfa", o "#bravo", o "#charly" (sin las comillas, claro), y le das un [Enter]. Si el navegador sigue sin mostrar nada, es porque sigue usando la ruta original, así que la recargas con [F5] y entonces sí ve la nueva completa. Quizá IE te ponga alguna objeción más en rutas locales
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<script type="text/javascript">
function muestra() {
var dir = window.location;
//alert(dir)
var postNumeral = dir.hash.replace("#","");
//alert(postNumeral)
document.getElementById(postNumeral).style.display = "block";
}
onload = muestra;
</script>
<style type="text/css">
div{display:none; background: yellow; font-size: 500%;}
</style>
</head>
<body>
<div id=alfa>ALFA</div>
<div id=bravo>BRAVO</div>
<div id=charly>CHARLY</div>
</body>
</html>
Por supuesto que en la página real los id's ya van a estar puestos en la dirección, y no hay que hacer nada más que abrirla.
Es solamente para mostrar el elemento con ese identificador al cargarse. Los cambios los haces después con los botones y su propio javascript.