Javascript动态创建表格及删除行列的方法


Posted in Javascript onMay 15, 2015

本文实例讲述了Javascript动态创建表格及删除行列的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>动态创建表格(还能删除行列)</title>
<style type="text/css">
body,div
{
 margin:0;
 padding:0;
 font-size:14px;
}
table
{
 margin:0 auto;
}
td
{
 border:1px solid green;
 text-align:center;
}
</style>
<script type="text/javascript">
//动态创建表格
function createTable() {
  var divMain = document.getElementById("divMain");
  removeAllChild(divMain); //删除上次添加的表格
  var myTable = document.createElement("table");
  myTable.id = "DynamicTable";
  var myRow = document.getElementById("myRow").value;
  var myCol = document.getElementById("myCol").value;
  var trNode;
  var tdNode;
  var strTmp;
  for (var i = 1; i <= myRow; i++) {
    trNode = myTable.insertRow(-1);
    for (var j = 1; j <= myCol; j++) {
      strTmp ="第"+ i + "行,第"+ j + "列";
      tdNode = trNode.insertCell(-1);
      tdNode.innerHTML = "<a href='javascript:void(0);'>" + strTmp + "</a>";
    }
  }
  divMain.appendChild(myTable); //把表格添加到div中
  //event.srcElement.disabled = "true"; //添加按钮禁用
}
//删除指定节点下的所有子节点
function removeAllChild(nodeObj) {
  while (nodeObj.hasChildNodes()) {
    nodeObj.removeChild(nodeObj.firstChild);
  }
}
//删除行
function DeleteRow() {
  var rowNum = document.getElementById("delRow").value;
  var tbl = document.getElementById("DynamicTable");

  if (tbl == null) {
    alert('请先创建表格');
    return;
  }
  if ((rowNum <= tbl.rows.length) && (rowNum > 0)) {
    tbl.deleteRow(rowNum-1);
  }
  else {
    alert('请输入一个有效的行!');
  }
}
//删除列
function DeleteCol() {
  var colNum = document.getElementById("delCol").value;
  var tbl = document.getElementById("DynamicTable");
  if (tbl == null) {
    alert('请先创建表格');
    return;
  }
  if(tbl.rows.length<=0) {
    alert('表格不存在行');
    return;
  }
  if ((colNum <= tbl.rows[0].cells.length) && (colNum > 0)) {
    for (var i = 0; i < tbl.rows.length; i++) {
      tbl.rows[i].deleteCell(colNum - 1);
    }
  }
  else {
    alert('指定列不存在');
  }
}
</script>
</head>
<body>
请输入行数<input type="text" id="myRow" />,请输入列数
<input type="text" id="myCol" /><br />
<input type="button" value="创建表格" onclick="createTable()" /><br />
<input type="text" id="delRow" /><input type="button" value="删除行" 
onclick="DeleteRow()" /><br />
<input type="text" id="delCol" /><input type="button" value="删除列" 
onclick="DeleteCol()" /><br />
<div id="divMain">
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jquery 多级下拉菜单核心代码
May 21 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
Bootstrap轮播图学习使用
Feb 10 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
Feb 24 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
JS同步、异步、延迟加载的方法
May 05 Javascript
JS逻辑运算符短路操作实例分析
Jul 09 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
Aug 13 Javascript
js 实现在2d平面上画8的方法
Oct 10 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
javascript制作的滑动图片菜单
May 15 #Javascript
Javascript通过overflow控制列表闭合与展开的方法
May 15 #Javascript
javascript实现日期按月份加减
May 15 #Javascript
Javascript递归打印Document层次关系实例分析
May 15 #Javascript
Javascript节点关系实例分析
May 15 #Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 #Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 #Javascript
You might like
php项目打包方法
2008/02/18 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Python循环实现n的全排列功能
2019/09/16 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
python绘制汉诺塔
2021/03/01 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
社区端午节活动方案
2014/01/28 职场文书
法律进社区实施方案
2014/03/21 职场文书
房地产开发项目建议书
2014/05/16 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
HTTP中的Content-type详解
2022/01/18 HTML / CSS