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 相关文章推荐
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
Aug 09 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
jQuery 3.0十大新特性
Jul 06 Javascript
AngularJS基础 ng-src 指令简单示例
Aug 03 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
javascript+css3开发打气球小游戏完整代码
Nov 28 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
Feb 21 Javascript
微信小程序实现打卡签到页面
Sep 21 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
动态生成gif格式的图像要注意?
2006/10/09 PHP
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
javascript实现评分功能
2020/06/24 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
交通志愿者活动总结
2014/06/27 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
自我评价优缺点范文
2015/03/11 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
python实现的web监控系统
2021/04/27 Python
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python