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 相关文章推荐
JQuery Highcharts 动态生成图表的方法
Nov 15 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
深入理解JavaScript函数参数(推荐)
Jul 26 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
Oct 30 Javascript
JavaScript函数绑定用法实例分析
Nov 14 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
vue-test-utils初使用详解
May 23 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
javascript实现超好看的3D烟花特效
Jan 01 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
php配合jquery实现增删操作具体实例
2013/12/12 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
给护士表扬信
2014/01/19 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
广播体操口号
2014/06/18 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
平遥古城导游词
2015/02/03 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang