Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2014, 06:44
Avatar de GeekGirl
GeekGirl
 
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 5 meses
Puntos: 44
Respuesta: Cambiar el color de un td con DOM

Estás intentando levantar las celdas antes de que sean cargadas por el DOM. Podés hacer algo mucho más sintético dejando tu JS de la siguiente manera:

Código Javascript:
Ver original
  1. var columna=new Array();
  2. columna[0]=1;
  3. columna[1]=2;
  4. columna[2]=3;
  5. columna[3]=4;
  6. columna[4]=5;
  7. columna[5]=6;
  8. var filas=new Array();
  9. filas[0]=1;
  10. filas[1]=2;
  11. filas[2]=3;
  12. filas[3]=4;
  13. filas[4]=5;
  14. var tabla=new Array();
  15. tabla[0]=columna;
  16. tabla[1]=filas;
  17.          
  18. function crearTabla(){
  19.     var tbl = document.getElementById("tabla");
  20.     var tblBody = document.createElement("tbody");
  21.     for (var i = 0; i < columna.length; i++) {
  22.         var fila = document.createElement("tr");
  23.         for (var j = 0; j < filas.length; j++) {
  24.             var celda = document.createElement("td");
  25.  
  26.             celda.onclick = function(){
  27.                 if(this.style.background=='green'){
  28.                     this.style.background='orange';
  29.                 }else{
  30.                     this.style.background='green';
  31.                 }
  32.             }
  33.  
  34.             var textoCelda = document.createTextNode(i+"-"+j);
  35.             celda.appendChild(textoCelda);
  36.             fila.appendChild(celda);
  37.         }
  38.         tblBody.appendChild(fila);
  39.     }
  40.     tbl.appendChild(tblBody);
  41.     tbl.setAttribute("border", "2");
  42. }

Y eliminando el llamado a functionTabla del click en tu tabla (valga la redundancia):

Código HTML:
<table id="tabla" onclick="funcionTabla()"></table> <!-- Elimina el llamado -->

<table id="tabla"></table> <!-- Que quede así --> 
Saludos :)