未捕获的TypeError:无法设置属性' className' null错误

时间:2015-12-25 12:45:07

标签: javascript css html5 css3 dom

因此我的代码中存在错误。错误信息是:

  

未捕获的TypeError:无法设置属性' className' null错误

以下是代码:

HTML:

<section id="section-14">
    <div class="mediabox">
       <img src="product/Diffusers/Diffusers_1.jpg" alt="Diffusers">
       <h3>Diffusers</h3>
    </div>
</section>

Javascript:

document.getElementById('section-14').className = "content-current";

有人请指导我的错误。

2 个答案:

答案 0 :(得分:1)

在body标记结束之前添加脚本。你的代码应该像这样 -

<html>
<head>
</head>
<body>
<section id="section-14">
    <div class="mediabox">
       <img src="product/Diffusers/Diffusers_1.jpg" alt="Diffusers">
       <h3>Diffusers</h3>
    </div>
</section>
<script>
document.getElementById("section-14").className="content-current";
</script>
</body>
</html>

我希望这会对你有所帮助。

答案 1 :(得分:-1)

您的代码在DOM内容准备好之前正在运行。这就是为什么你不能将一个类添加到section-14元素的原因。您必须在元素后面包含脚本标记,或者等待使用DOMContentLoaded事件准备DOM,如下所示:

document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('section-14').classList.add('content-current');
});