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放大镜效果
Dec 08 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
Jan 31 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 Javascript
vue2.0实现分页组件的实例代码
Jun 22 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
Jun 20 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 Javascript
在js中修改html body的样式
Nov 11 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
用缓存实现静态页面的测试
2006/12/06 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python2.7安装图文教程
2018/03/13 Python
Django多数据库的实现过程详解
2019/08/01 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
交通专业个人自荐信格式
2013/09/23 职场文书
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
2014年中秋寄语
2014/08/11 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
vue组件vue-esign实现电子签名
2022/04/21 Vue.js