para usar correctamente el menú tipo acordeón que tengo de dos niveles, hago lo siguiente:
-Al picar en el menú de nivel 1 me carga un archivo.php (contine los div que deseo mostrar con el menú de nivel 2 pero me aparecen ocultos)
-Al picar en un menú de nivel 2:
* Oculta los div de clase 'submenus'
* Muestra el div con id '(XXXX)' (único porque el menú se creó dinamicamente)
No tengo problemas con mostrar el div porque utilizo getElementById pero no consigo funcionar el ocultar porque el navegador no tiene implantado de forma nativa dicha instruccion (getElementsByClassName)
He mirado por internet y lo que he conseguido ver es esta funcion:
Código Javascript:
Ver original
<script type='text/javascript'> document.getElementsByClassName = function(cl, sTagName) { var retnode = []; var myclass = new RegExp('\\b'+cl+'\\b'); var elem = this.getElementsByTagName((sTagName===""||sTagName===null)?"*":sTagName); for (var i = 0; i < elem.length; i++) { var classes = elem[i].className; if (myclass.test(classes)) retnode.push(elem[i]); } return retnode; }; </script>
Así que cuando llamo a la función ocultar('contenido','div'):
Código Javascript:
Ver original
function ocultar(id,tipo) { var capa = []; var capa = document.getElementsByClassName(id); for (var i = 0; i < capa.length; i++) { capa.style.display = "none"; capa.style.visibility = "hidden";}}
no me realiza la función de ocultar los div que tengan la clase 'contenido'
¿Qué puedo estar haciendo mal?