1

php ifステートメントが原因で条件付きテーブルが表示されないため、ページでエラーが発生していると思います。

エラー:TypeError:document.getElementById( "count2")is nullソースファイル:https ://www.mysite.com/js/clocktimer.js 行:43

条件文があります:

<?php  if ( $this->session->userdata('days_to_challenge') > 0 ) : ?>
    <table id="mytable" border="0">
         <tr>
             <td align="center" colspan="4"><div class="numbers" id="count2" style="padding: 10px; "></div></td>
         </tr>
<?php endif; ?>

そして、エラーを引き起こしている私のjsコード:

document.getElementById('count2').style.display="block";
document.getElementById('count2').style.width="390px";
...

挑戦する日数はゼロになりました。チャレンジが始まったので、カウントダウンタイマーテーブルを表示していません。

この種のエラーを防ぐための最良の方法は何ですか?

4

3 に答える 3

3

要素をいじる前に、要素が存在するかどうかをテストしてください。

var count2 = document.getElementById('count2');
if (count2) {
    count2.style.display="block";
    count2.style.width="390px";
}
于 2013-03-05T09:03:14.103 に答える
0

これを試して :

if(document.getElementById('count2')){
   document.getElementById('count2').style.display="block";
   document.getElementById('count2').style.width="390px";
}
于 2013-03-05T09:04:07.133 に答える
0

コードを記述する前に、要素が存在することを確認してください

if(document.getElementById('count2') != null) {
  document.getElementById('count2').style.display="block";
  document.getElementById('count2').style.width="390px";
}
于 2013-03-05T09:05:07.757 に答える