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 全选效果实现代码
Mar 23 Javascript
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
最新的10款jQuery内容滑块插件分享
Sep 18 Javascript
js读取注册表的键值示例
Sep 25 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
jQuery CSS3自定义美化Checkbox实现代码
May 12 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
vue跨域解决方法
Oct 15 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
vue实现element-ui对话框可拖拽功能
Aug 17 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
JavaScript实现模态对话框实例
Jan 13 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来实现网络服务
2009/09/15 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
8个必备的PHP功能开发
2015/10/02 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
审计主管岗位职责
2014/01/31 职场文书
销售团队口号大全
2014/06/06 职场文书
劳动竞赛口号
2014/06/16 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
党性心得体会
2014/09/03 职场文书
2014年学校工作总结
2014/11/20 职场文书
学生个人总结范文
2015/02/15 职场文书
社区党务工作总结2015
2015/05/19 职场文书
闪闪红星观后感
2015/06/08 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python