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--){

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

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?