JavaScript如何动态创建table表格


Posted in Javascript onAugust 02, 2020

两种JavaScript动态创建table表格的方法,分享给大家,具体实现如下

方法一:最原始的方法,创建一一元素

var a1=document.createElement("table");
var a2=document.createElement("tbody");
var a3=document.createElement("tr");
var a4=document.createElement("td");
//开始appendchild()追加各个元素

a3.appendChild(a4);
a2.appendChild(a3);
a1.appendChild(a2);

方法二:利用table对象里面含有的函数:插入行和插入列

var tabNode=document.createElement("table");

var trNode=tabNode.insertRow();

var tdNode=trNode.insertCell;

tabNode.innerHTML="这是采用table对象里面的函数创建的"
注意:利用原始方法,一个个createElement时候,必须要添加一个tbody对象
//获取<table>标签的兄弟节点
// var node3=tabnode.previousSibling;//前一个节点 获取对此对象的上一个兄弟对象的引用。
// alert("previous--node3:"+node3);//#text
// 如果<table>后面有回车符,高版本的IE和火狐会识别成 “空白文本”#text,
// 而低版本IE会直接越过-----不光是<table>节点,其它节点也一样
// 表格的,<table>标签和<tr>标签中间,其实还隐藏着一个<tbody>标签----表格体

动态的创建和删除:
创建表格,通过输入的值:

function createTable(){ 
  tableNode=document.createElement("table");//获得对象 
  tableNode.setAttribute("id","table") 
  var row=parseInt(document.getElementsByName("row1")[0].value);//获得行号 
  //alert(row); 
  if(row<=0 || isNaN(row) ){ 
  alert("输入的行号错误,不能创建表格,请重新输入:"); 
  return; 
  } 
  var cols=parseInt(document.getElementsByName("cols1")[0].value); 
  if(isNaN(cols) || cols<=0){ 
  alert("输入的列号错误,不能创建表格,请重新输入:"); 
  return; 
  } 
  //上面确定了 现在开始创建 
  for(var x=0;x<row;x++){ 
  var trNode=tableNode.insertRow(); 
  for(var y=0;y<cols;y++){ 
   var tdNode=trNode.insertCell(); 
   tdNode.innerHTML="单元格"+(x+1)+"-"+(y+1); 
  } 
  } 
  document.getElementById("div1").appendChild(tableNode);//添加到那个位置 
 }

删除行:

function delRow(){ 
 //要删除行,必须得到table对象才能删除,所以在创建的时候必须要设置table对象的 id 方便操作 
 var tab=document.getElementById("table");//获得table对象 
 if(tab==null){ 
  alert("删除的表不存在!") 
  return; 
 } 
 var rows=parseInt(document.getElementsByName("delrow1")[0].value);//获得要删除的对象 
 if(isNaN(rows)){ 
  alert("输入的行不正确。请输入要删除的行。。。"); 
  return; 
 } 
 if (rows >= 1 && rows <= tab.rows.length) { 
  tab.deleteRow(rows-1); 
  }else{ 
  alert("删除的行不存在!!"); 
  return ; 
  } 
  
 }

删除列:

//删除列要麻烦些, 要通过行来进行删除 
 // 一行的cells的长度就是列的个数 
 //tab.rows[x].deleteCell(cols-1) 
 function delCols(){ 
  //获得table对象 
  var tab=document.getElementById("table"); 
  
  if(tab==null){ 
  alert("删除的表不存在!!"); 
  return ; 
  } 
  //获得文本框里面的内容 
  var cols=parseInt(document.getElementsByName("delcols1")[0].value); 
  //检查是否可靠 
  if(isNaN(cols)){ 
  alert("输入不正确。请输入要输出的列。。"); 
  return; 
  } 
  if(!(cols>=1 && cols<tab.rows[0].cells.length)){ 
  alert("您要删除的行不存在!!"); 
  return; 
  } 
  for(var x=0;x<tab.rows.length;x++){//所有的行 
  tab.rows[x].deleteCell(cols-1); 
  } 
 }

完整的代码:

<!DOCTYPE html> 
<html> 
 <head> 
 <title>createTable2.html</title> 
 <style type="text/css"> 
 table{ 
  border:#00ffff solid 2px; 
  border-collapse:collapse; 
 } 
 td{ 
  border:#8080ff solid 2px; 
  padding:10px; 
 } 
 </style> 
 <script type="text/javascript"> 
 var tableNode; 
 function createTable(){ 
  tableNode=document.createElement("table");//获得对象 
  tableNode.setAttribute("id","table") 
  var row=parseInt(document.getElementsByName("row1")[0].value);//获得行号 
  //alert(row); 
  if(row<=0 || isNaN(row) ){ 
  alert("输入的行号错误,不能创建表格,请重新输入:"); 
  return; 
  } 
  var cols=parseInt(document.getElementsByName("cols1")[0].value); 
  if(isNaN(cols) || cols<=0){ 
  alert("输入的列号错误,不能创建表格,请重新输入:"); 
  return; 
  } 
  //上面确定了 现在开始创建 
  for(var x=0;x<row;x++){ 
  var trNode=tableNode.insertRow(); 
  for(var y=0;y<cols;y++){ 
   var tdNode=trNode.insertCell(); 
   tdNode.innerHTML="单元格"+(x+1)+"-"+(y+1); 
  } 
  } 
  document.getElementById("div1").appendChild(tableNode);//添加到那个位置 
 } 
 function delRow(){ 
  //要删除行,必须得到table对象才能删除,所以在创建的时候必须要设置table对象的 id 方便操作 
  var tab=document.getElementById("table");//获得table对象 
  if(tab==null){ 
  alert("删除的表不存在!") 
  return; 
  } 
  var rows=parseInt(document.getElementsByName("delrow1")[0].value);//获得要删除的对象 
  if(isNaN(rows)){ 
  alert("输入的行不正确。请输入要删除的行。。。"); 
  return; 
  } 
  if (rows >= 1 && rows <= tab.rows.length) { 
  tab.deleteRow(rows-1); 
  }else{ 
   alert("删除的行不存在!!"); 
   return ; 
  } 
  
 } 
 //删除列要麻烦些, 要通过行来进行删除 
 // 一行的cells的长度就是列的个数 
 //tab.rows[x].deleteCell(cols-1) 
 function delCols(){ 
  //获得table对象 
  var tab=document.getElementById("table"); 
  
  if(tab==null){ 
  alert("删除的表不存在!!"); 
  return ; 
  } 
  //获得文本框里面的内容 
  var cols=parseInt(document.getElementsByName("delcols1")[0].value); 
  //检查是否可靠 
  if(isNaN(cols)){ 
  alert("输入不正确。请输入要输出的列。。"); 
  return; 
  } 
  if(!(cols>=1 && cols<tab.rows[0].cells.length)){ 
  alert("您要删除的行不存在!!"); 
  return; 
  } 
  for(var x=0;x<tab.rows.length;x++){//所有的行 
  tab.rows[x].deleteCell(cols-1); 
  } 
 } 
 
 </script> 
 </head> 
 
 <body> 
 行:<input type="text" name="row1"/> 
 列:<input type="text" name="cols1"/> 
 <input type="button" value="创建表格" onclick="createTable()"/><br/> 
 
 <input type="text" name="delrow1"/> 
 <input type="button" value="删除行" onclick="delRow()"/><br/> 
 
 <input type="text" name="delcols1"/> 
 <input type="button" value="删除列" onclick="delCols()"/><br> 
 <div id="div1"></div> 
 </body> 
</html>

效果演示:

JavaScript如何动态创建table表格

JavaScript如何动态创建table表格

JavaScript如何动态创建table表格

JavaScript如何动态创建table表格

以上就是为大家分享的两种JavaScript动态创建table表格的方法,希望大家喜欢。

Javascript 相关文章推荐
保证JavaScript和Asp、Php等后端程序间传值编码统一
Apr 17 Javascript
JQuery将文本转化成JSON对象需要注意的问题
May 09 Javascript
jquery等待效果示例
May 01 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
Bootstrap组件(一)之菜单
May 11 Javascript
jQuery实现的表格展开伸缩效果实例
Sep 07 Javascript
几种响应式文字详解
May 19 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
微信小程序实现圆形进度条动画
Nov 18 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
Sep 10 Javascript
JavaScript实现移动小精灵的案例代码
Dec 12 Javascript
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
javascript中字体浮动效果的简单实例演示
Nov 18 #Javascript
jQuery EasyUI 布局之动态添加tabs标签页
Nov 18 #Javascript
如何使用jquery easyui创建标签组件
Nov 18 #Javascript
JavaScript严格模式详解
Nov 18 #Javascript
每天一篇javascript学习小结(String对象)
Nov 18 #Javascript
跟我学习javascript的执行上下文
Nov 18 #Javascript
跟我学习JScript的Bug与内存管理
Nov 18 #Javascript
You might like
基于initPHP的框架介绍
2013/04/18 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
利用JS实现数字增长
2016/07/28 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
python对字典进行排序实例
2014/09/25 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
django缓存配置的几种方法详解
2018/07/16 Python
tensorflow之并行读入数据详解
2020/02/05 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
给民警的表扬信
2014/01/08 职场文书
分家协议书
2014/04/21 职场文书
建筑横幅标语
2014/10/09 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Java的Object类的九种方法
2022/04/13 Java/Android