我的页面出现错误,我相信由于php if语句导致条件表未显示。

错误:TypeError:document.getElementById(“ count2”)为空
源文件: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";
...


即,挑战的天数已为零。挑战已经开始,所以我没有显示倒数计时器表。

防止此类错误的最佳方法是什么?

最佳答案

在尝试摆弄元素之前先进行测试,以查看该元素是否存在。

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

09-25 17:04