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中使用Substring删除字符串最后一个字符
Nov 03 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
Dec 31 Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 Javascript
浅谈js原生拖放
Nov 21 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
React学习笔记之事件处理(二)
Jul 02 Javascript
Vue+webpack项目基础配置教程
Feb 12 Javascript
vue router 配置路由的方法
Jul 26 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
vue3.0 搭建项目总结(详细步骤)
May 20 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 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如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
Vue动态实现评分效果
2017/05/24 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
编程语言Python的发展史
2014/09/26 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
windows下python安装小白入门教程
2018/09/18 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
创建文明城市标语
2014/06/16 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书