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 最简单的属性菜单
Oct 08 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
使用console进行性能测试
Apr 27 Javascript
JavaScript中的bold()方法使用详解
Jun 08 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
AngularJS bootstrap启动详解及实例代码
Sep 14 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
js 获取今天以及过去日期
Apr 11 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
关于layui 下拉列表的change事件详解
Sep 20 Javascript
vue全屏事件开发详解
Jun 17 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
深入探讨前端框架react
2015/12/09 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
python中pika模块问题的深入探究
2018/10/13 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python中adb有什么功能
2020/06/07 Python
python中return如何写
2020/06/18 Python
悦木之源美国官网:Origins美国
2016/08/01 全球购物
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
信用卡收入证明范本
2015/06/12 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle