zoukankan      html  css  js  c++  java
  • Uncaught TypeError: Cannot read property 'length' of undefined

    <table border="1" width="50%" id="table">
            <tr>
              <th>学号</th>
              <th>姓名</th>
              <th>操作</th>
            </tr>
            <tr>
              <td>xh001</td>
              <td>阮雌</td>
              <td><a href="javascript:;" onclick="delete(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
            </tr>
            <tr>
               <td>xh002</td>
               <td>刘赫</td>
               <td><a href="javascript:;" onclick="delete(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
            </tr>
        </table>
        <input type="button" value="添加一行" onclick="add()" />   <!--在添加按钮上添加点击事件  -->
    <script>
            window.onload = function(){
              var tr=document.getElementsByTagName("tr");
              var td=document.getElementsByTagName("td");
             for(var i=0;i<tr.length;i++){
                  var n=1;
                    n++;
                 var k=0;
                 while(k<cells.length){
                     k++;
                 }
                 let cells=tr[i+n].cells;
    //            tr[i+n].cells.innerHTML+="xh00";
                console.log(tr[i+n].cells.length)
             }
         }
    
    报错:没找到length元素,判断下cells是否为underfined或者为空,如是则不遍历,就不会js报错了。
    正确改为:
    window.onload = function(){
    
             var tr=document.getElementsByTagName("tr");
              var td=document.getElementsByTagName("td");
             for(var i=0;i<tr.length;i++){
                  var n=1;
                    n++;
                 var k=0;
                 while(k<tr[i+n].cells.length){
                     k++;
                 }
                 let cells=tr[i+n].cells;
    //            tr[i+n].cells.innerHTML+="xh00";
                console.log(tr[i+n].cells.length)
             }
         }
    </script>
    报错: Uncaught TypeError: Cannot read property 'cells' of undefined,cells元素未定义,书写顺序错误,写在while之前,之后又报了个cell is not defined;
    正确改为:
    <script>
    window.onload = function(){

          var tr=document.getElementsByTagName("tr");
          var td=document.getElementsByTagName("td");
            for(var i=0;i<tr.length;i++){
              var n=1;
                n++;
              let cells=tr[i+n].children;
                for(var j=0; j<cells.length; j++){
                  console.log(cells[j])
                }
                var k=0;
                while(k<tr[i+n].cells.length){
                  k++;
                }
              }
            }

    </script>
  • 相关阅读:
    python3 与dict相关的魔法方法。使用于二叉搜索树的类中
    笔记:nestjs学习基础(1)
    ES6 --(10)class使用、class继承
    redux --(1)核心概念(stateaction educer)、三大原则、todolist with redux
    antV--G2 学习
    react源代码重点难点分析
    jQuery-ui源代码重点难点分析
    webuploader上传插件源代码重点难点分析
    破解jQuery Deferred()异步执行的神秘世界
    ueditor源代码重点难点分析
  • 原文地址:https://www.cnblogs.com/aivnfjgj/p/12504747.html
Copyright © 2011-2022 走看看