无法读取null的属性'className'

时间:2014-11-16 10:07:15

标签: javascript

这不起作用。我的html中有一个id为“color”的元素。这笔交易是什么?我只想将它添加到该元素的类中。

var el = document.getElementById("color");
var number = Math.floor((Math.random() * 5) + 1);

switch (number) {
    case 1:
        el.className += " blue";
        break;

    case 2:
        el.className += " yellow";
        break;

    case 3:
        el.className += " red";
        break;

    case 4:
        el.className += " green";
        break;

    case 5:
        el.className += " purple";
        break;
}

2 个答案:

答案 0 :(得分:9)

我想这是因为当你试图获得#color元素时,身体没有加载。

将内容包装在此

window.onload = function () {
    // your code
};

或者您可以在正文末尾加载代码

<body>
    <!-- you content -->
    <script src="your-script.js"></script>
</body>

最后,您可以收听DOMContentLoaded事件。它比window.onload快一点,但支持率略低,IE9 +。

document.addEventListener("DOMContentLoaded", function(event) { 
  // your code
});

答案 1 :(得分:0)

我声明了一个不在交换机范围内的变量“el”。