JavaScript小案例-动态表格
JavaScript小案例-动态表格
需求
-
数据静态存贮,数据类型:对象,属性值:
id,names -
可以在页面中输入数据后,对数据进行存储(存贮在datas数组中),在页面中显示出来。
-
id不用输入,自动生成,names值通过表格底部的输入框输入。 -
可以通过点击操作栏中的按钮,进行删除
-
可以实现
键盘监听keyup,按下enter键,快捷输入。
代码
- html
编号
类别
操作
- css
- js
注意点
- span(X号)的事件添加:并不是一个一个去添加,而是通过
事件委托,通过给其父元素tbody添加点击事件,并通过e.target来找到点击的元素。e.target返回的时点击的元素,和this不同- 给
tbody添加点击事件后,tr,td点击后也会冒泡,但我们只想在点击span(X号)触发点击点击事件,所以通过e.target.nodeName == "SPAN"添加了判断,可以唯一标识span,让只有点击span(X号)时,才触发事件。- 在
创建元素时添加id属性:< tr id=${arr[i].id} >,属性值就是datas数组里各个对象的id值,再通过当前点击的span(X号)进行获取:var _id = e.target.parentNode.parentNode.id;。- 使用数组对象的
findIndex(),寻找id值,并返回数组的下标return v.id == _id;。- 使用
splice对数组进行删除- 接受表单传过来的值的时候,使用
e.preventDefault();事件对象来阻止表单的默认提交。
效果图

