el color de fondo de la celda no cambia javascript

Estoy creando un mapa de calor para algunos resultados que tengo basados ​​en algunos umbrales simples. Estoy usando JavaScript para crear, configurar el valor y el color de fondo. El resultado esperado es un mapa de calor usando algunos blue diferentes tonalidades. Sin embargo, no se está coloreando nada, y al analizar el DOM encontré:

<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>

Por lo tanto, la bgcolor="#" no está configurado. he usado ambos bgcolor y setAtribute, pero el resultado es el mismo: no se colorea nada. Mi función se publica a continuación:

function makeTable(data)
    {
        var row = new Array();
        var cell = new Array();

        var row_num = 26;
        var cell_num = 44;

        var tab = document.createElement('table');
        tab.setAttribute('id', 'newtable');
        tab.border = '1px';

        var tbo = document.createElement('tbody');

        for(var i = 0; i < row_num; i++){
            row[i] = document.createElement('tr');

            var upper = (i+1)*44;
            var lower = i*44;
            for(var j = lower; j < upper; j++){
                cell[j] = document.createElement('td');
                if(data[j] != undefined){
                    var index = document.createTextNode(data[j].diff);
                    cell[j].appendChild(index);
                    /* specify which color better suits the heatmap */
                    if(index >= 0 || index <= 100){
                        cell[j].bgcolor = "#ADDDE6";
                    }
                    else if(index > 100 || index <= 1000){
                        cell[j].bgcolor = "#00BFFF";
                    }
                    else if(index > 1000 || index <= 4000){
                        cell[j].bgcolor = "#6495ED";
                    }
                    else if(index > 4000 || index <= 6000){
                        cell[j].bgcolor = "#00008B";
                    }
                    else{
                        cell[j].bgcolor = "#0000FF";
                    }
                    row[i].appendChild(cell[j]);
                }
            }

            tbo.appendChild(row[i]);
        }

        tab.appendChild(tbo);
        document.getElementById('mytable').appendChild(tab);
    }

¿Algunas ideas? Gracias

preguntado el 04 de julio de 12 a las 01:07

2 Respuestas

cell.style.backgroundColor="red"

Respondido 04 Jul 12, 02:07

Me cambié a cell[j].style.backgroundColor = "red"; sin embargo, tuve el mismo resultado: nada coloreado. - cibertextron

también use funciones de tabla integradas, es decir. table.insertRow(-1) y row.insertCell(-1)... es menos costoso que crear y agregar... y hace que el código sea más corto: daño

Necesita una C en mayúscula en la propiedad bgcolor -> bgColor.

Respondido 04 Jul 12, 02:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.