热爱学习无法自拔,每天进步1%
南宁小程序开发:www.zkelm.com
javascript对table的操作对数据的增加删除
先写一个table 这个就不做解析了, 照着代码撸就对了!
<style>
table{
border:1px solid #aaa;
border-collapse:collapse;
text-align: center;
width: 350px;
}
th,td,tr{
border:1px solid #aaa;
}
thead{
background-color: aqua;
}
tbody{
background-color: #eee;
}
</style>
<body>
<table>
<thead>
<tr>
<th>姓名</th><th>学科</th><th>分数</th><th>操作</th>
</tr>
<thead>
<tbody>
</tbody>
</table>
</body>
显示效果如下!
接下来写javascript 对数据进行动态添加
//定义数组
var students=[
{name: "陈奇",majop:"javascript",grade:100,control:"删除"},
{name: "刘好人",majop:"javascript",grade:100,control:"删除"},
{name: "罗贯中",majop:"javascript",grade:100,control:"删除"},
{name: "张三丰",majop:"javascript",grade:100,control:"删除"},
{name: "黄飞鸿",majop:"javascript",grade:100,control:"删除"},
{name: "小程序",majop:"zkelm.com",grade:100,control:"删除"},
]
//循环获取数组信息,students[1]= 一个对象 object
for(var i=0;i<students.length;i++){
//此时 students[0]={name: "陈奇",majop:"javascript",grade:100,control:"删除"}
//创造tr元素
var tr=document.createElement("tr");
//利用(x in object)枚举对象的键值
for(var x in students[i]){
//x 就是对象的建名:name,majop,grade,control
//创造td元素
var td=document.createElement("td");
//创造文字节点,否则 使用appendChild(node) 会加不进去
var txtNode=document.createTextNode(students[i][x]);
//把txtNode文字节点加入到td中
td.appendChild(txtNode);
//把 td加入到tr中, 一共有4个键值所以加入四次
tr.appendChild(td);
}
document.querySelector("tbody").appendChild(tr);
}
运行结果如下:
本章有两个坑:1.td.appendChild(node) 这里 node 不能是文本,要先创造一个文本节点,createTextNode(“文本节点”) 然后才可以加入到td里面
2.students[i][x] for(x in students[i]) 其中 x 获取到的是 建的名字 in 可以用于枚举对象键值!
其它挺简单的 , 每天进步1% 老规矩,有需要软件和oa开发的请联系我,虽然写代码不是最牛逼的,但是策划项目出方案 我很专业。
南宁企业oa开发:www.zkelm.com