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与Prototype并存的冲突的解决方法
Aug 29 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
JQuery1.6 使用方法三
Nov 23 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
Jun 08 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
jQuery实现滚动切换的tab选项卡效果代码
Aug 26 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
Nov 03 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 Javascript
JavaScript基础之静态方法和实例方法分析
Dec 26 Javascript
怎么使用javascript深度拷贝一个数组
Jun 06 Javascript
layui表格数据重载
Jul 27 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
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
JavaScript中的私有成员
2006/09/18 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
简单实现python收发邮件功能
2018/01/05 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
python线程join方法原理解析
2020/02/11 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
专业技术人员年度考核评语
2014/12/31 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
工作收入证明模板
2015/06/12 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
python单元测试之pytest的使用
2021/06/07 Python
pt-archiver 主键自增
2022/04/26 MySQL