Buenas gente hoy vengo con un problemita nuevo. Estoy intentando hacer un menú, que cuando cliques sobre él cambie el color de fondo, de texto y que mantenga ese estado hasta que no se clique otro punto de menú.

Os cuento como procedo:
Código html de inclusión del archivo .js que me va a cambiar los colores.
Código:
<script type="text/javascript" src="../css/funciones.js" ></script>
Código html del menú, :
Código:
<div id="ddtopmenubar" class="mattblackmenu">
   <ul id="bloque">
	<li><a href="../inicio/inicio.asp" onClick="cambiarColores()">Inicio</a></li>
	<li><a href="../empresa/empresa.asp">Empresa</a></li>
	<li><a href="../localizacion/localiza.asp">Localizaci&oacute;n</a></li>
	<li><a href="../productos/productos.asp">Productos</a></li>
	<li><a href="../disamed/disamed.asp">Dise&ntilde;o a medida</a></li>
	<li><a href="../calidad/calidad.asp">Calidad</a></li>
	<li><a href="../contacto/contacto.asp">Contacto</a></li>
   </ul>
</div>
Código del .js
Código:
function cambiarColores(){
  var lista=document.getElementById('bloque');
  alert("hola estoy encima");
  alert('La cantidad de hijos del nodo div es: ' + lista.childNodes.length);
  //cambiando colores
  lista.childNodes[0].style.color='#ff0000';
  lista.childNodes[1].style.color='#00ff00';
  lista.childNodes[2].style.color='#0000ff';
  
}
En las pruebas iniciales, estoy tratando de ver si recojo, todos los subnodos de un elemento.

Para ello he intentado hacer referencia al id "ddtopmenubar" de la capa en la función y me devuelve 3 nodos y digo yo esto no va bien...(probado en mozilla)

Intento la operación en IE y me devuelve 1 nodo aún peor pienso yo..

Intento refenciarme sobre el UL, le asigno un id para probarlo y resulta que en mozilla me paren 15 nodos... y curiosamente en IE me aparecen los siete puntos del menú pero no me cambia el estilo.

Qué se me está escapando??
Si necesitáis algo más del código comentármelo.

Un saludo.

P.D.: Socorro Kaos!!