JavaScript动态操作表格实例(添加,删除行,列及单元格)


Posted in Javascript onNovember 25, 2013
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>js动态操作表格</title>
<script language="javascript">
function init(){
_table=document.getElementById("table");
_table.border="1px";
_table.width="800px";
for(var i=1;i<6;i++){
var row=document.createElement("tr");
row.id=i;
for(var j=1;j<6;j++){
var cell=document.createElement("td");
cell.id=i+"/"+j;
cell.appendChild(document.createTextNode("第"+cell.id+"列"));
row.appendChild(cell);
}
document.getElementById("newbody").appendChild(row);
}
}
function rebulid(){
var beginRow=document.getElementById("beginRow").value;/*开始行*/
var endRow=document.getElementById("endRow").value;/*结束行*/
var beginCol=document.getElementById("beginCol").value;/*开始列*/
var endCol=document.getElementById("endCol").value;/*结束列*/
var tempCol=beginRow+"/"+beginCol;/*定位要改变属性的列*/
alert(tempCol);
var td=document.getElementById(tempCol);
for(var x=beginRow;x<=endRow;x++){
for(var i=beginCol;i<=endCol;i++){
if(x==beginRow){
document.getElementById("table").rows[x].deleteCell(i+1);
}
else{
document.getElementById("table").rows[x].deleteCell(i);
}
}
}
td.rowSpan=(endRow-beginRow)+1;
}
/*添加行,使用appendChild方法*/
function addRow(){
var length=document.getElementById("table").rows.length;
/*document.getElementById("newbody").insertRow(length);
document.getElementById(length+1).setAttribute("id",length+2);*/
var tr=document.createElement("tr");
tr.id=length+1;
var td=document.createElement("td");
for(i=1;i<4;i++){
td.id=tr.id+"/"+i;
td.appendChild(document.createTextNode("第"+td.id+"列"));
tr.appendChild(td);
}
document.getElementById("newbody").appendChild(tr);
}
function addRow_withInsert(){
var row=document.getElementById("table").insertRow(document.getElementById("table").rows.length);
var rowCount=document.getElementById("table").rows.length;
var countCell=document.getElementById("table").rows.item(0).cells.length;
for(var i=0;i<countCell;i++){
var cell=row.insertCell(i);
cell.innerHTML="新"+(rowCount)+"/"+(i+1)+"列";
cell.id=(rowCount)+"/"+(i+1);
}
}
/*删除行,采用deleteRow(row Index)*/
function removeRow(){
document.getElementById("newbody").deleteRow(document.getElementById(document.getElementById("table").rows.length).rowIndex);
}
/*添加列,采用insertCell(列位置)方法*/
function addCell(){
/*document.getElementById("table").rows.item(0).cells.length
用来获得表格的列数
*/
for(var i=0;i<document.getElementById("table").rows.length;i++){
var cell=document.getElementById("table").rows[i].insertCell(2);
cell.innerHTML="第"+(i+1)+"/"+3+"列";
}
}
/*删除列,采用deleteCell(列位置)的方法*/
function removeCell(){
for(var i=0;i<document.getElementById("table").rows.length;i++){
document.getElementById("table").rows[i].deleteCell(0);
}
}
</script>
</head>
<body onLoad="init();">
<table  id="table" align="center">
<tbody id="newbody"></tbody>
</table>
<div>
<table width="800px" border="1px" align="center">
<tr><td align="center"><input type="button" id="addRow" name="addRow" onClick="addRow();" value="添加行"/></td><td align="center"><input type="button" id="delRow" name="delRow" onClick="removeRow();" value="删除行"/></td></tr>
<tr><td align="center"><input type="button" id="delCell" name="delCell"  onClick="removeCell();" value="删除列"/></td><td align="center"><input type="button" id="addCell" name="addCell" onClick=" addCell();" value="添加列"/></td></tr>
 <tr><td align="center" colspan="2"><input type="button" id="addRows" name="addRows"  onClick="addRow_withInsert();" value="添加行"/></td></tr>
</table>
</div>
<div>
<table width="800px" border="1px" align="center">
<tr><td>从第<input type="text" id="beginRow" name="beginRow"  value=""/>行到<input type="text"  name="endRow"  id="endRow" value=""/>行</td><td rowspan="2"  id="test"><input type="button" name="hebing" id="hebing" value="合并" onClick="rebulid();"/></td></tr>

<tr><td>从第<input type="text" name="beginCol" id="beginCol" value=""/>列到<input type="text" name="endCol" id="endCol" value=""/>列</td></tr>
</table>
</div>
</body>
</html>
Javascript 相关文章推荐
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
Mar 03 Javascript
jQuery结合ajax实现动态加载文本内容
May 19 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
Nov 25 Javascript
微信小程序 css使用技巧总结
Jan 09 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
May 26 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
Jul 19 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 #Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 #Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 #Javascript
js导入导出excel(实例代码)
Nov 25 #Javascript
用javascript添加控件自定义属性解析
Nov 25 #Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
Nov 25 #Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 #Javascript
You might like
第二节 对象模型 [2]
2006/10/09 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
认识延迟时间为0的setTimeout
2008/05/16 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
Python 创建TCP服务器的方法
2020/07/28 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
吃空饷专项治理工作实施方案
2014/03/04 职场文书
房产买卖委托公证书
2014/04/04 职场文书
英语求职信范文
2014/05/23 职场文书
团组织推优材料
2014/12/29 职场文书
赤壁观后感(2)
2015/06/15 职场文书