首页 新闻 会员 周边 捐助

前端小白求解

0
[待解决问题]

俺最近在写一个删除添加表格的代码 代码如下

htm:

<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="css/css.css"/>
<script type="text/javascript" src="js/js.js"></script>
</head>
<body>
<table border="1" cellspacing="" cellpadding="">
<thead>
<tr>
<td>First Name</td>
<td>Last Name</td>
<td></td>
</tr>
</thead>
<tbody id="tb">
<tr id="1st">
<td>张</td>
<td>三</td>
<td>
<input type="button" name="" id="add" value="add" onclick="add()"/>
<input type="button" name="" id="del" value="del" onclick="del(this)"/>
</td>
</tr>
</tbody>
</table>
</body>
</html>

 

js:

function add() {
var trObj = document.createElement("tr");
trObj.id = new Date().getTime();
trObj.innerHTML = "<td><input name='firstName'/></td><td><input name='lastName'/></td><td><input type='button' value='Add' onclick='add()'> <input type='button' value='Del' onclick='del(this)'></td>";
document.getElementById("tb").appendChild(trObj);
}
function del(obj){
var trId=obj.parentNode.parentNode.id;
var trobj=document.getElementById(trId);
document.getElementById("tb").removeChild(trobj);
}

问题在我标注的颜色里,这里trId=obj.parentNode.parentNode.id已经获得父节点的id

为什么不能把这个id直接用在document.getElementById("tb").removeChild(trId)里面,而要添加该条var trobj=document.getElementById(trId);才可以,不然系统会报错.前端小白求解

砰砰碰碰砰砰的主页 砰砰碰碰砰砰 | 菜鸟二级 | 园豆:212
提问于:2018-05-12 15:44
< >
分享
所有回答(1)
0

因为removeChild的参数是一个DOM节点而不是DOM节点id,https://developer.mozilla.org/zh-CN/docs/Web/API/Node/removeChild

jello chen | 园豆:7336 (大侠五级) | 2018-05-12 16:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册