RukawaD 2022-11-21 18:13 采纳率: 75%
浏览 6
已结题

js 中出现了一个小问题

在制作点名器时,点击开始按钮不能循环。
   <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>点名器</title>
        <style>
            td{
                background-color: black;
            }
        </style>
    </head>
    <body>
        <center>
        <h1>点名器</h1>
        <table width="500px" height="300px"  border="1px">
            <tr>
                <td id="0">张三</td>
                <td id="1">李四</td>
                <td id="2">王麻子</td>
                <td id="3">张无忌</td>
            </tr>
            <tr>
                <td id="4">郭靖</td>
                <td id="5">杨过</td>
                <td id="6">黄蓉</td>
                <td id="7">洪七公</td>
            </tr>
            <tr>
                <td id="8">鲁长老</td>
                <td id="9">吕洞宾</td>
                <td id="9">铁拐李</td>
                <td id="10">荷仙姑</td>
            </tr>
            <tr>
                <td id="11">孙悟空</td>
                <td id="12">林黛玉</td>
                <td id="13">贾宝玉</td>
                <td id="14">王熙凤</td>
            </tr>
            </table>
            <br/>
            <input type="button" value="开始" onclick="btn_Strat()"/>
            <input type="button" value="结束" onclick="btn_Stop()"/>
            </center>

        <script>
            function  btn_Strat(){
                // 随机的让某个单元格变白
                //随机数0-15
                var num  =  Math.floor(Math.random()*16);
                for(var i=0;i<=15;i++){
                    if(i == num) {
                    // 随机获取单元格
                        var td= document.getElementById(i);
                    // 设置获取单元格背景色变白
                        td.style.backgroundColor="white";
                    }else{
                   // 获取其余单元格
                        var td= document.getElementById(i);
                   // 设置其余单元格背景色变黑
                         td.style.backgroundColor="balck";
                    }
                }
                var t;
                // 定时器自动完成     
                t=window.setTimeout("btn_Strat()",50);
            }
            function btn_Stop(){
                window.clearTimeout(t);
             }
        </script>
    </body>
</html>
报错提示:
   Uncaught TypeError: Cannot html:63 read properties of null (reading 'style')
at btn_Strat (1.html:63:11)
at HTMLInputElement.onclick (1.html:44:59)

    63:td.style.backgroundColor="balck";
    44:<input type="button" value="结束" onclick="btn_Stop()"/>
我不知道哪里错了。
  • 写回答

3条回答 默认 最新

  • qybao 2022-11-21 18:33
    关注

    i<=15改成i<15
    因为你的id只有0到14定义了,所以id为15时getelement就是null

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 修改了问题 11月21日
  • 创建了问题 11月21日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值