Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.


<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>
<script>
   var num=2; function add(){ num++; var ot=document.getElementById('table'); var tbody=ot.getElementsByClassName("tbody")[0]; var otc=ot.childNodes[1]; var td1=document.getElementsByTagName("td"); var tt=document.createElement("tr"); var trs=otc.parentNode.appendChild(tt); 未捕獲類型錯誤:未能在“節點”上執行“Append Child”:參數1不是“節點”類型。 otc.parentNode.appendChild('tr');      解析:appendChild()需要傳入的是一個tr的對象,而不是tr的字符串. 正確如下: function render(){ for (let i=0; i<data.length; i++){ var data=xh00; let tr=document.createElement('tr'); tr.innerHTML='<tr><th>'+data[num]+'</tr></th>'; tbody.appendChild(data.join(',')); } }
    
換一種寫法:
     function render(){
       var html=[]
       for (let i=0; i<data.length; i++){
       let template='<tr><th>'+data[num]+'</tr></th>';
       html.push(template);
        tr.innerHTML=html.join('');
       }
     }
} <script>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM