第九章編程練習 為什么獲取tbody后面要加一個lastChild
function deleteRow(obj){ ? ?var tbody = document.getElementById('table').lastChild; ? var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }
為什么獲取tbody后面要加一個lastChild
function deleteRow(obj){ ? ?var tbody = document.getElementById('table').lastChild; ? var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }
為什么獲取tbody后面要加一個lastChild
2016-04-19
舉報
2016-04-19
table習慣上,我們常常把標簽<tbody></tbody> 省略,但是在dom中他默認有tbody這一層,所以獲取的是<tbody></tbody>里面內(nèi)容,也就是
?
<tr>
? ? <th>學號</td>
? ? <td>姓名</td>
? ? <td>操作</td>
? ? ?</tr>
? ? <tr>
? ? <td>xh001</td>
? ? <td>王小明</td>
? ? <td><a href="javasript:;" >刪除</a></td>
? ? ?</tr>
? ? ?<tr>
? ? <td>xh002</td>
? ? <td>劉小芳</td>
? ? <td><a href="javasript:;" >刪除</a></td>
? ? ?</tr>
如果alert (table.nodeName);結(jié)果是TBODY.
如果把
var tbody = document.getElementById('table').lastChild;
改成:
var tbody = document.getElementById('table').firstChild;
那么
在非IE瀏覽器中結(jié)果是:
alert(table.nodeName)結(jié)果將是#text;
所以需要獲取table的lastChild,然后作為父節(jié)點,刪除子節(jié)點.