9-22編程練習(xí)同學(xué)代碼又沒明白的地方 新手自學(xué)求幫助!
同學(xué)代碼如下:
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title>
? <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
? <script type="text/javascript">
? ? ? window.onload = function(){
? ? ? ? ? ?var trs = document.getElementsByTagName('tr');
? ? ? ? ? ?for(var i = 1; i < trs.length; i++){
? ? ? ? ? ? ? ? trs[i].onmouseover = function(){
? ? ? ? ? ? ? ? ? ? ?this.style.backgroundColor = "#f2f2f2";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? trs[i].onmouseout = function(){
? ? ? ? ? ? ? ? ? ? ?this.style.backgroundColor = "#fff";
? ? ? ? ? ? ? ? }
? ? ? ? ? }
? ? ? ? }
? ? ?function addTo(){
? ? ? ? ? ?var table = document.getElementById('table').lastChild;
? ? ? ? ? ?var tr = document.createElement('tr');
? ? ? ? ? ?var td = document.createElement('td');
? ? ? ? ? ?td.innerHTML="<input type = 'text' />";
? ? ? ? ? ?tr.appendChild(td);
? ? ? ? ? ?td = document.createElement('td');
? ? ? ? ? ?td.innerHTML="<input type = 'text' />";
? ? ? ? ? ?tr.appendChild(td);
? ? ? ? ? ?td = document.createElement('td');
? ? ? ? ? ?td.innerHTML='<a href="#" onclick = "deleteItem(this);return false;" >刪除</a>';
? ? ? ? ? ?tr.appendChild(td);
? ? ? ? ? ?table.appendChild(tr);
? ? ? ? ? }
? ? ? function deleteItem(obj){
? ? ? ? ? ? var table = document.getElementById('table').lastChild;
? ? ? ? ? ? var tr = obj.parentNode.parentNode;
? ? ? ? ? ? table.removeChild(tr);
? ? ? }
? </script>
?</head>
?<body>
? ? ?<table border="1" width="50%" id="table">
? ? ?<tr>
? ? <th>學(xué)號(hào)</th>
? ? <th>姓名</th>
? ? <th>操作</th>
? ? ?</tr>
? ? <tr>
? ? <td>xh001</td>
? ? <td>王小明</td>
? ? <td><a href="#" onclick = "deleteItem(this);return false;" >刪除</a></td>
? ? ?</tr>
? ? ?<tr>
? ? <td>xh002</td>
? ? <td>劉小芳</td>
? ? <td><a href="javasript:;" onclick = "deleteItem(this);" >刪除</a></td>
? ? ?</tr>
? ? ?</table>
? ? ?<input type="button" value="添加一行" ?onclick = "addTo();"/>
?</body>
</html>
提問:
一、 function deleteItem(obj){
? ? ? ? ? ? var table = document.getElementById('table').lastChild;
? ? ? ? ? ? var tr = obj.parentNode.parentNode;
? ? ? ? ? ? table.removeChild(tr);
該函數(shù)是創(chuàng)建刪除行的函數(shù),?var table = document.getElementById('table').lastChild; 這個(gè)找到的是table最后一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)是 最后一個(gè)</tr>和</table>之間的空白節(jié)點(diǎn)。不知道我理解的對(duì)不對(duì)。? 那table.removeChild(tr);這句話執(zhí)行就應(yīng)該有問題?。?/p>
2017-08-02
....我找到答案了!
table的結(jié)構(gòu),table默認(rèn)包含thead,tfoot,tbody,而且是按這個(gè)順序排列的,所有l(wèi)astchild就是取得tbody