【问题标题】:Uncaught TypeError: Cannot set property 'className' of null未捕获的类型错误:无法将属性“className”设置为 null
【发布时间】:2014-04-12 19:12:38
【问题描述】:

以下代码显示错误"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 函数。我想更改部门的类名, 帮我找出错误..

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    出现该错误是因为在您的文档中没有 id 为 "div" 的元素,因此 document.getElementById('div')null

    你需要在这里改变:

    onclick="click('division');"
    

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

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

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

    (附带说明:避免调用您的函数click

    示例fiddle

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 2014-06-26
    • 2018-01-03
    • 2014-02-07
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多