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 相关文章推荐
js设置文本框中焦点位置在最后的示例代码(简单实用)
Mar 04 Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 Javascript
有效提高JavaScript执行效率的几点知识
Jan 31 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
原生JS实现图片轮播切换效果
Dec 15 Javascript
微信小程序 slider 详解及实例代码
Jan 10 Javascript
AngularJS执行流程详解
Feb 17 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
详解vuejs之v-for列表渲染
Jun 22 Javascript
微信小程序如何访问公众号文章
Jul 08 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
Nov 12 Javascript
使用vue引入maptalks地图及聚合效果的实现
Aug 10 Javascript
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
用php来检测proxy
2006/10/09 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
python简单实现9宫格图片实例
2020/09/03 Python
python 如何在测试中使用 Mock
2021/03/01 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
车间调度岗位职责
2013/11/30 职场文书
影视后期实训报告
2014/11/05 职场文书
营销计划书
2015/01/17 职场文书
升职自荐信怎么写
2015/03/05 职场文书
祝酒词范文
2015/08/12 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang