prprprll 2021-04-16 13:56 采纳率: 100%
浏览 177
已采纳

显示 'parentNode' of undefined,错在哪里啊?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            *{
                margin: 0;
                padding: 0;    
            }
            #nav{
                margin:10px 450px;
            }
            
        </style>
    </head>
    <body>
        <div id="nav">
            <span>输入要显示的彩灯数:</span>
            <input type="text" id="text" />
            <button type="button">生成</button>
            <button type="button">清除</button>
        </div>
        <hr />
        <div id="box">
            
        </div>
        
        
        
        
        <script>
            var nav=document.getElementById("nav");
            var box=document.getElementById("box");
            
            var btn1=nav.children[2];
            var btn2=nav.children[3];
            console.log(btn1);
            console.log(btn2);
            //生成
            btn1.onclick = function creat(){
                
                var fag = document.createDocumentFragment();
                var count = document.getElementById("text").value;
                console.log(count);
                for(var i=0; i<count;i++){
                    var li= document.createElement("img")
                    li.setAttribute("src","../img3/off.png");
                    li.setAttribute("width","200px");
                    fag.appendChild(li);
                }  
                box.appendChild(fag);
                setInterval(light,1000);
            }
            //发光
            function light(){
                var list = document.getElementsByTagName("img");
                
                for(var i=0;i<list.length;i++){
                    if(Math.random()-0.5>0){
                        list[i].src = "../img3/on.png"
                    }else{
                        list[i].src = "../img3/off.png"
                    }
                }
            }
            
            //清除
            btn2.onclick = function clear(){
              var list = document.getElementsByTagName("img");
              console.log(list);
              for(var i=list.length;i>0;i--){
                      /* box.removeChild(list[i]);*/
                      list[i].parentNode.removeChild(list[i]);
                    
                  }
              }
            
        
        </script>
        
    </body>
</html>

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2021-04-16 14:05
    关注

    越界了

     for(var i=list.length;i>0;i--){

    改为下面的

     for(var i=list.length-1;i>=0;i--){

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面