4

以下代码显示错误"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>

我正在尝试通过锚标记的单击事件将部门的 id 传递给 js 函数.. 我想更改部门的类名,帮助我识别错误..

4

1 回答 1

10

发生该错误是因为在您的文档中没有 id 为"div"so document.getElementById('div')is的元素null

您需要在这里更改:

onclick="click('division');"

在参数周围使用引号,并且

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

div这里不能用引号引起来,因为您使用的是调用函数时传递的参数

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

示例小提琴

于 2013-06-27T07:25:55.153 回答