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