獲取DOM節(jié)點的問題
var?tbody?=?document.getElementById('table').lastChild; var?trs?=?tbody.getElementsByTagName('tr');
如上 target獲取的是table下的最后一個子節(jié)點也就是最后一個<tr></tr>標(biāo)簽
那么為什么trs要在最后一個tr標(biāo)簽下獲取tr標(biāo)簽?zāi)兀?/p>
源代碼如下
<!DOCTYPE?html> <html> ?<head> ??<title>?new?document?</title>?? ??<meta?http-equiv="Content-Type"?content="text/html;?charset=gbk"/>??? ??<script?type="text/javascript">?? window.onload?=?function(){ var?tbody?=?document.getElementById('table').lastChild; var trs?=?tbody.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?addOne(obj){? ????var?tbody?=?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='javascript:;'?onclick='deleteRow(this)'>刪除</a>"; ?tr.appendChild(td);??? ? ?tbody.appendChild(tr);??? ??? ?} ?function?deleteRow(obj){ ????var?tbody?=?document.getElementById('table').lastChild;?? var?tr?=?obj.parentNode.parentNode; ?tbody.removeChild(tr); ?} ??</script>? ?</head>? ?<body>? ???<table?border="1"?width="50%"?id="table"> ???<tr> <th>學(xué)號</th> <th>姓名</th> <th>操作</th> ???</tr>?? ???<tr> <td>xh001</td> <td>王小</td> <td><a?href="javascript:;"?onclick="deleteRow(this)">刪除</a></td> ???</tr> ???<tr> <td>xh002</td> <td>劉小</td> <td><a?href="javascript:;"?onclick="deleteRow(this)">刪除</a></td> ???</tr>?? ???</table> ???<input?type="button"?value="添加?onclick="addOne()"?/> ?</body> </html>
2015-03-11
table的子節(jié)點結(jié)構(gòu)是text和tbody
var?tbody?=?document.getElementById('table').lastChild; 這句話是獲取tbody,所有tr和td都在tbody中