描述:之前的代码创建节点过于麻烦,而且后添加的超链接要对其重新绑定单击响应事件,现对其进行更进:html代码与之前一样,主要是对js代码进行改进
具体的js代码如下:
用事件委派的形式对单击响应事件进行绑定(绑定给父元素),后面添加的超链接就不用重新进行绑定了,创建结构时,只需要创建tr,其他节点只需要用innerHTML进行添加即可
<script type="text/javascript">
function delA(){
var theTr = this.parentNode.parentNode;
// var thename = thrTr.Children[0].innerHTML
var thename = theTr.getElementsByTagName("td")[0].innerHTML;
var flag = confirm("确定要删除"+thename+"吗?");
if(flag){
theTr.parentNode.removeChild(theTr);
}
}
//事件的委派,将监听事件绑定给父元素,当点击子元素时进行相应
window.onload = function(){
//绑定事件监听
//var theTbody = document.getElementsByTagName("tbody");
var theTbody = document.getElementById("tbody1");
theTbody.onclick = function(){
var aAll = document.getElementsByTagName("a");
for(var i=0;i<aAll.length;i++){
aAll[i].onclick = delA;
}
}
//添加功能,点击按钮以后,添加元素到表格中
var button1 = document.getElementById("button1");
button1.onclick = function(){
var name = document.getElementsByTagName("input")[0].value;
var email = document.getElementsByTagName("input")[1].value;
var salary = document.getElementsByTagName("input")[2].value;
//创建表单结构
var tr = document.createElement("tr");
tr.innerHTML = "<td>"+name+"</td>"+"<td>"+email+"</td>"
+"<td>"+salary+"</td>"+"<td><a href = 'javascript:;'>Delete</a></td>";
var theTbody = document.getElementById("tbody1");
theTbody.appendChild(tr);
//return false;
};
};
</script>