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日

悬赏问题

  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)