基于Javascript中的单元格内容的表格式

时间:2014-03-17 11:40:44

标签: javascript formatting

我有一个表格,最左边的列中有文字,所有其他列中都有数字。如何根据细胞中的数量为细胞着色?我想为负数设置background-color =“red”并忽略其中带有文本的列,并忽略其中带有正数的单元格。

下面是我从另一个问题中获取并稍微修改过的代码,但它似乎不起作用。

var allTableCells = document.getElementsByTagName("td");
for(var i = 0, max = allTableCells.length; i < max; i++) {
    var node = allTableCells[i];
    var currentVal = node.childNodes[0].nodeValue; 
    if(currentVal.toFixed){
        if (currentVal <0)
            node.style.backgroundColor = "red"; // -ive number
    } else{
        // do nothing, the cell has text
    }
}

1 个答案:

答案 0 :(得分:1)

您应该解析数字:

var allTableCells = document.getElementsByTagName("td");
for(var i = 0, max = allTableCells.length; i < max; i++) {
    var node = allTableCells[i];
    var currentVal = parseFloat(node.childNodes[0].nodeValue); 
    if(currentVal!=NaN){
        if (currentVal <0)
            node.style.backgroundColor = "red";
    } 
}

或者更好的jQuery&amp;的CSS:

脚本:

$("td").filter(function(c){
    var num=parseFloat(this.innerText);
    return num!=NaN && num < 0;
}).addClass("neg");

$("td:contains('-')").addClass("neg");

CSS:

.neg{
    background-color: red;
}