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 相关文章推荐
js 居中漂浮广告
Mar 21 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
Apr 27 Javascript
javascript加号&quot;+&quot;的二义性说明
Mar 04 Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
AngularJS报错$apply already in progress的解决方法分析
Jan 30 Javascript
node.js爬虫爬取拉勾网职位信息
Mar 14 Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
Jan 03 Javascript
JavaScript实现单图片上传并预览功能
Sep 30 Javascript
vue双向绑定数据限制长度的方法
Nov 04 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使用mkdir创建多级目录入门例子
2014/05/10 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
discuz目录文件资料汇总
2014/12/30 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
python tqdm库的使用
2020/11/30 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
欧克利英国官网:Oakley英国
2019/08/24 全球购物
校园联欢晚会主持词
2014/03/17 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
助学感谢信范文
2015/01/21 职场文书
考试作弊检讨书
2015/01/27 职场文书
劳动仲裁调解书
2015/05/20 职场文书
师德师风培训感言
2015/08/03 职场文书
小学思想品德教学反思
2016/02/24 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL