Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/04/2012, 00:30
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: problema con nodos, clases y javascript

Gracias Zerokilled.
Vamos a ver, pongo el resto del código.
Código Javascript:
Ver original
  1. //Para cuando pinchas sobre el menú principal
  2.  
  3. function abreArbol(idmenu)
  4. {
  5.     escondeMenu();//primero vuelvo a cerrarlo entero
  6.  
  7.     menuabierto = document.getElementById(idmenu);
  8.     if(idmenu != "minicio")
  9.         menuabierto.className='cAbierta';
  10.    
  11.    
  12.     var submenu = menuabierto.getElementsByTagName('ul');
  13.    
  14.     for(var i=0; i<submenu.length; i++)
  15.     {
  16.        
  17.         submenu[i].style.display = '';
  18.        
  19. /*con lo siguiente intento que, cuando se abra el menú, todos los li's tomen la clase inicial, por si antes hubiera pinchado uno de ellos. Digo intento porque no lo consigo*/
  20.  
  21.                 var subli = submenu[i].getElementsByTagName('li');
  22.         for(var j=0; j<subli.length; j++)
  23.         {
  24.            
  25.             document.getElementById(subli[j].id).className='ssubmenu';
  26.            
  27.         }
  28.        
  29.        
  30.        
  31.     }
  32. };
  33.  
  34. /*Y con esto siguiente intento cambiar la clase del submenú que pincho*/
  35.  
  36. function clickSubCat(subli)
  37. {
  38.     document.getElementById(subli).style.color='red';
  39. /*Esto me funciona, se pone en rojo. Pero lo siguiente, que es lo que realmente quiero hacer, no me surte efecto*/
  40.          document.getElementById(subli).className='subcatActiva';
  41.  
  42. }

Creo que este es todo el código básico que utilizo.

También me gustaría, si es posible, que al iniciar el menú todos los submenús obtuvieran el evento onclick por medio de la misma función iniciaMenuArbol. Probé algo de código pero no me terminó de convencer.

Un saludo y gracias!!