刪除table列表的一行,有一個(gè)小疑惑。
我要?jiǎng)h除列表里面的一行,雖然變量對(duì)象table 可以用obj.parentNode.parentNode.parentNode來(lái)代替這個(gè)方法是可行的。但是為什么下面代碼里面去掉lastChild會(huì)不行了呢。層次不是剛剛好嗎???求解
??????function?deleteItem(obj){ ????????????var?table?=?document.getElementById('table').lastChild;/*問(wèn)題是這里*/ ????????????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>
2016-12-19
自己測(cè)試解決了。<table>與<tr>之間會(huì)隱性生成<tbody>,而類(lèi)似于Chrome這類(lèi)型瀏覽器回車(chē)鍵算是一個(gè)文本節(jié)點(diǎn)所以<tbody>是<table>的lastChild.