不知道为什么这不起作用JavaScript功能

时间:2014-07-15 14:49:09

标签: javascript json

我创建了一个javascript函数来获取json变量并使用它们'{Stuff''http://jsfiddle.net/57fXb/1/#&togetherjs=5vxD5KeLBa

这是功能代码

function Machinecycle(ZW, Number) {
    var machines = {
        "Machines": [
            {"cycle":1,"percent":1},
            {"cycle":2,"percent":-2},
            "cycle":3,"percent":3}
        ]
    };
    // obj = JSON.parse(machines);
    var cycle = machines.Machines[Number].cycle;
    var percent = machines.Machines[Number].percent;

    if (cycle < 480) {
        document.getElementById('ZW01001').style.backgroundColor = 'lime';
        document.write(cycle);
        document.write(percent);
    } else {
        document.getElementById('ZW01001').style.backgroundColor = 'red';
    }
}

将此代码作为Machinecycle('ZW01001',0)运行时:ZW01001是Div的Id,0是JSON需要的记录,我得到错误

  

未捕获的TypeError:无法读取null的属性'style'

我假设这是因为它无法找到带有ID给功能的Div,但我无法弄清楚为什么,这是在它自己的JavaScript文件中运行,但是我也在html文件中尝试过但没有成功任何帮助都会被挪用

1 个答案:

答案 0 :(得分:1)

问题在于您传递的是ZW01001而不是'ZW01001'

您要传递的是一个字符串,但是您传递的是不存在的变量。这与输入Machinecycle(undefined, 0);相同。

修改:查看代码,您甚至没有使用ZW变量。我相信你的意思是把它传递给document.getElementById