未捕获的TypeError:无法将属性'className'设置为null

时间:2013-06-27 07:25:01

标签: javascript html css

以下代码显示错误"Uncaught TypeError: Cannot set property 'className' of null"

  <style>
      .deactive { height:250px; }
      .active { height:150px; }
  </style>
  <script>
      function click(div) {
          document.getElementById('div').className  = 'active';
      }
  </script>
  <a href="#" onclick="click(Division);">
      <div id="Division" class="deactive">
          <!--Division contents-->
      </div>
  </a>

我正在通过点击锚标记的事件尝试将除法传递给js函数..我想改变除法的类名, 帮我识别错误..

1 个答案:

答案 0 :(得分:8)

发生此错误是因为在您的文档中,您没有ID为"div"的元素,因此document.getElementById('div')null

你需要在这里改变:

onclick="click('division');"

在参数周围使用引号,

document.getElementById(div).className  = 'active';

div这里不能用引号括起来,因为你正在使用调用函数时传递的参数

(作为旁注:避免调用您的函数click

示例fiddle