开发者问题收集

未捕获的类型错误:无法将属性“className”设置为 null

2013-06-27
50973

以下代码显示错误 “未捕获 TypeError:无法将属性‘className’设置为 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 函数。我想更改部门的类名, 请帮我找出错误。

1个回答

发生该错误是因为您的文档中没有 id 为 “div” 的元素,因此 document.getElementById('div')null

您需要在此处进行更改:

onclick="click('division');"

使用引号将参数引起来,并且

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

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

(附注:避免以 click 的方式调用您的函数)

示例 fiddle

Fabrizio Calderan
2013-06-27