js动态生成表格(节点操作)


Posted in Javascript onJanuary 12, 2021

本文实例为大家分享了js动态生成表格的具体代码,供大家参考,具体内容如下

针对DOM节点操作,该案例效果图如下(代码量不多,就没有结构与行为相分离):

js动态生成表格(节点操作)

原生js实现(注释里面解释了做法):

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 <style type="text/css">
 table {
 width: 500px;
 margin: 100px auto;
 border-collapse: collapse;
 text-align: center;
 }

 td,
 th {
 border: 1px solid #333;
 }

 thead tr {
 height: 40px;
 background-color: #ccc;
 }
 </style>
 </head>
 <body>
 <table cellspacing="0">
 <thead>
 <tr>
  <th>姓名</th>
  <th>科目</th>
  <th>成绩</th>
  <th>操作</th>
 </tr>
 </thead>
 <tbody>
 </tbody>
 </table>
 </body>
 <script type="text/javascript">
 //因为里面的学生数据都是动态的,我们需要js动态生成 这里我们需要模拟数据,自己定义好数据
 // 数据我们采取对象形式储存
 //1 先准备好学生的数据
 //2 所有数据都是放到tbody里面(多少人,多少行)
 var datas = [{
 name: '刘舒新',
 subject: 'JavaScript',
 score: '100'
 }, {
 name: '宋祥隆',
 subject: 'JavaScript',
 score: '80'
 },
 {
 name: '崔健',
 subject: 'JavaScript',
 score: '90'
 },
 {
 name: '郄海淼',
 subject: 'JavaScript',
 score: '70'
 }
 ];
 //console.log(datas.length);
 var tbody = document.querySelector('tbody');
 for (var i = 0; i < datas.length; i++) {
 //创建行
 trs = document.createElement('tr');
 tbody.appendChild(trs);
 //创建单元格 td的数量取决于每个对象里面的属性个数
 for(var k in datas[i]){
 //创建单元格
 var td=document.createElement('td');
 //把对象里面的属性值 给td
 //console.log(datas[i][k]);
 td.innerHTML=datas[i][k];
 trs.appendChild(td);
 }
 
 //创建操作删除单元格
 var td=document.createElement('td');
 td.innerHTML='<a href="javascript:;" rel="external nofollow" >删除</a>'
 trs.appendChild(td);
 }
 //删除操作
 var a=document.querySelectorAll('a');
 for(var i=0;i<a.length;i++){
 a[i].onclick=function(){
 tbody.removeChild(this.parentNode.parentNode);
 }
 }
 </script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个tab标签切换效果代码
Mar 27 Javascript
基于jquery的表格排序
Sep 11 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
JS简单循环遍历json数组的方法
Apr 22 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
解决vue里碰到 $refs 的问题的方法
Jul 13 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
浅谈vue的iview列表table render函数设置DOM属性值的方法
Sep 30 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
Vue中使用canvas方法总结
Feb 12 Javascript
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 #Vue.js
JS addEventListener()和attachEvent()方法实现注册事件
Jan 11 #Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 #Javascript
详解ES6 中的Object.assign()的用法实例代码
Jan 11 #Javascript
vue实现防抖的实例代码
Jan 11 #Vue.js
详解uniapp的全局变量实现方式
Jan 11 #Javascript
微信小程序抽奖组件的使用步骤
Jan 11 #Javascript
You might like
PHP获取MAC地址的具体实例
2013/12/13 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python 多线程实例详解
2017/03/25 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
网络教育自我鉴定
2013/11/01 职场文书
知识竞赛主持词
2014/03/26 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js