Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2013, 13:29
joselegolas
 
Fecha de Ingreso: marzo-2013
Mensajes: 83
Antigüedad: 11 años, 2 meses
Puntos: 0
getElementsByClassName

Hola a todos,

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
  1. <script type='text/javascript'>
  2. document.getElementsByClassName = function(cl, sTagName) {
  3.     var retnode = [];
  4.     var myclass = new RegExp('\\b'+cl+'\\b');
  5.     var elem = this.getElementsByTagName((sTagName===""||sTagName===null)?"*":sTagName);
  6.     for (var i = 0; i < elem.length; i++) {
  7.         var classes = elem[i].className;
  8.         if (myclass.test(classes)) retnode.push(elem[i]);
  9.     }
  10.     return retnode;
  11. };
  12. </script>

Así que cuando llamo a la función ocultar('contenido','div'):


Código Javascript:
Ver original
  1. function ocultar(id,tipo) {
  2.     var capa = [];
  3.     var capa = document.getElementsByClassName(id);
  4.     for (var i = 0; i < capa.length; i++) {
  5.     capa.style.display = "none";
  6.     capa.style.visibility = "hidden";}}


no me realiza la función de ocultar los div que tengan la clase 'contenido'


¿Qué puedo estar haciendo mal?

Última edición por joselegolas; 24/06/2013 a las 13:35