Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/09/2011, 12:09
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 9 meses
Puntos: 344
Respuesta: Cambiar clase de un objecto clickando en otro objeto

Tienes algunos fallos que he solucionado y ya se ejecuta, en una de las sentencias:

Código Javascript:
Ver original
  1. var myIdClass = document.getElementById(myId).className;

document.getElementById(myId) da null (no hay ningún elemento con ese id) y, por tanto, no hay propiedad className. Ya verás como lo arreglas.

Código Javascript:
Ver original
  1. window.onload = initAll;
  2.  
  3. function initAll() {
  4.     var allLinks = document.getElementsByTagName("a");
  5.     for ( var i = 0; i<allLinks.length; i++) {
  6.         if (allLinks[i].className == "menulink") {
  7.             allLinks[i].onclick = toggleMenu;
  8.         }
  9.     }
  10. }
  11.  
  12. function toggleMenu() {
  13.                 var startId = this.href.lastIndexOf("/")+1;
  14.                 var stopId = this.href.lastIndexOf(".");
  15.                
  16.                 var myId = this.href.substring(startId,stopId);
  17.                 var myIdClass = document.getElementById(myId).className;
  18.                
  19.                 if (myIdClass == "contentvisible") {
  20.             myIdClass = "contentnovisible";
  21.             } else {
  22.                 myIdClass = "contentvisible";
  23.                 }
  24.                 return false;
  25.             }

Fíjate en que no hay que poner los paréntesis cuando asignas una función a un evento (por que sino le estás asignando el resultado de llamarla) y el evento es onclick en minúsculas