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>
  • 相关阅读:
    HDU 1713 相遇周期 (最小公倍数)
    HDU 1270 小希的数表 (暴力枚举+数学)
    HDU 1052 Tian Ji -- The Horse Racing (贪心)
    CodeForces 732D Exams (二分)
    CodeForces 732C Sanatorium (if-else)
    CodeForces 732B Cormen — The Best Friend Of a Man (贪心)
    CodeForces 732A Buy a Shovel (水题)
    CodeForces 743C Vladik and fractions (数论)
    Node基础
    正向代理与反向代理
  • 原文地址:https://www.cnblogs.com/aivnfjgj/p/12504747.html
Copyright © 2011-2022 走看看