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 相关文章推荐
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
jQuery 方法大全方便学习参考
Feb 25 Javascript
奉献给JavaScript初学者的编写开发的七个细节
Jan 11 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
Sep 09 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
Oct 23 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
python 编写简单网页服务器的实例
2018/06/01 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
浅谈Python中的模块
2020/06/10 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
python 实现两个npy档案合并
2020/07/01 Python
Python Django路径配置实现过程解析
2020/11/05 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
大学生咖啡店创业计划书
2014/01/21 职场文书
秘书英文求职信
2014/04/16 职场文书
员工表扬信怎么写
2015/05/05 职场文书
小学推普周活动总结
2015/05/07 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
java版 简单三子棋游戏
2022/05/04 Java/Android