-1
function colorize(){
    for(i = 1; i<=8; i++)
    {
        var id = document.getElementById('op' + i);

        var stat = id.innerHTML;
        document.write(stat + " ");
        if(stat == 1)
        {
            id.innerHTML = "<div style='background:#00FF00; width: 20px; height: 20px; border-radius: 15px;'></div>";
        }
        else{
            id.innerHTML = "<div style='background:#FF0000; width: 20px; height: 20px; border-radius: 15px;'></div>";
        }
    }
}

它应该检查是否有 1 或 0 并将其替换为绿色或红色圆圈,但我只得到红色圆圈。

“stat”打印给了我一个“0 0 0 1 1 1 1 1”,但它似乎不适用于 if 语句。有人知道为什么吗?

4

2 回答 2

0

如果stat.length总是等于 1:

if(stat[0]=='1'){

如果您正在寻找的只是一个1in stat

if(stat.match(/1/)){//contains a 1, may contain more
于 2013-06-02T09:15:29.257 回答
0
function colorize(){
    for(i = 1; i<=8; i++)
    {
        var id = document.getElementById('op' + i);

        var stat = id.innerHTML;
        document.write(stat + " ");
        if(stat == "1")
        {
            id.innerHTML = "<div style='background:#00FF00; width: 20px; height: 20px; border-radius: 15px;'></div>";
        }
        else{
            id.innerHTML = "<div style='background:#FF0000; width: 20px; height: 20px; border-radius: 15px;'></div>";
        }
    }
}
于 2013-06-02T09:42:46.360 回答