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 に答える