table insertRow、deleteRow定义和用法总结


Posted in Javascript onMay 14, 2014

表格有几行: var trCnt = table.rows.length; (table为Id )

每行有几列:for (var i=0; i<trCnt; i++)
table.rows[i].cells.length;

javascript操作table:

insertRow(),deleteRow(),insertCell(),deleteCell()方法

table.insertRow()在IE下没问题 但在firefox下就得改为table.insertRow(-1)
同样其相应的insertCell()也要改为insertCell(-1)

insertRow() 方法

定义和用法

insertRow() 方法用于在表格中的指定位置插入一个新行。

语法

tableObject.insertRow(index)

返回值

返回一个 TableRow,表示新插入的行。

说明

该方法创建一个新的 TableRow 对象,表示一个新的 <tr> 标记,并把它插入表中的指定位置。

新行将被插入 index 所在行之前。若index等于表中的行数,则新行将被附加到表的末尾。

如果表是空的,则新行将被插入到一个新的 <tbody> 段,该段自身会被插入表中。

抛出

若参数 index 小于 0 或大于等于表中的行数,该方法将抛出代码为 INDEX_SIZE_ERR 的DOMException 异常 。

例子

<html> 
< head> 
< script type="text/javascript"> 
function insRow() 
{ 
document.getElementById('myTable').insertRow(0) 
} 
< /script> 
< /head> < body> 
< table id="myTable" border="1"> 
< tr> 
< td>Row1 cell1</td> 
< td>Row1 cell2</td> 
< /tr> 
< tr> 
< td>Row2 cell1</td> 
< td>Row2 cell2</td> 
< /tr> 
< /table> 
< br /> 
< input type="button" onclick="insRow()" 
value="Insert new row"> 
< /body> 
< /html>

deleteCell()

定义和用法

deleteCell() 方法用于删除表格行中的单元格(<td> 元素)。

语法

tablerowObject.deleteCell(index)

说明

参数 index 是要删除的表元在行中的位置。

该方法将删除表行中指定位置的表元。

抛出

若参数 index 小于 0 或大于等于行中的的表元数,该方法将抛出代码为 INDEX_SIZE_ERR 的DOMException异常。

例子

<html> 
< head> 
< script type="text/javascript"> 
function delRow() 
{ 
document.getElementById('myTable').deleteRow(0) 
} 
< /script> 
< /head> 
< body> < table id="myTable" border="1"> 
< tr> 
< td>Row1 cell1</td> 
< td>Row1 cell2</td> 
< /tr> 
< tr> 
< td>Row2 cell1</td> 
< td>Row2 cell2</td> 
< /tr> 
< /table> 
< br /> 
< input type="button" onclick="delRow()" 
value="Delete first row"> 
< /body> 
< /html>

insertCell()

定义和用法

insertCell() 方法用于在 HTML 表的一行的指定位置插入一个空的 <td> 元素。

语法

tablerowObject.insertCell(index)

返回值

一个 TableCell 对象,表示新创建并被插入的 <td> 元素。

说明

该方法将创建一个新的 <td> 元素,把它插入行中指定的位置。新单元格将被插入当前位于 index 指定位置的表元之前。如果 index 等于行中的单元格数,则新单元格被附加在行的末尾。

请注意,该方法只能插入 <td> 数据表元。若需要给行添加头表元,必须用 Document.createElement() 方法和 Node.insertBefore() 方法(或相关的方法)创建并插入一个 <th> 元素。

抛出

若参数 index 小于 0 或大于等于行中的的表元数,该方法将抛出代码为 INDEX_SIZE_ERR 的DOMException异常。

例子

<html> 
< head> 
< script type="text/javascript"> 
function insCell() 
{ 
var x=document.getElementById('tr2').insertCell(0) 
x.innerHTML="John" 
} 
< /script> 
< /head> 
< body> < table border="1"> 
< tr id="tr1"> 
< th>Firstname</th> 
< th>Lastname</th> 
< /tr> 
< tr id="tr2"> 
< td>Peter</td> 
< td>Griffin</td> 
< /tr> 
< /table> 
< br /> 
< input type="button" onclick="insCell()" value="Insert cell"> 
< /body> 
< /html>

deleteCell()

定义和用法

deleteCell() 方法用于删除表格行中的单元格(<td> 元素)。

语法

tablerowObject.deleteCell(index)

说明

参数 index 是要删除的表元在行中的位置。

该方法将删除表行中指定位置的表元。

抛出

若参数 index 小于 0 或大于等于行中的的表元数,该方法将抛出代码为 INDEX_SIZE_ERR 的DOMException异常。

例子

<html> 
< head> 
< script type="text/javascript"> 
function delCell() 
{ 
document.getElementById('tr2').deleteCell(0) 
} 
< /script> 
< /head> 
< body> < table border="1"> 
< tr id="tr1"> 
< th>Firstname</th> 
< th>Lastname</th> 
< /tr> 
< tr id="tr2"> 
< td>Peter</td> 
< td>Griffin</td> 
< /tr> 
< /table> 
< br /> 
< input type="button" onclick="delCell()" value="Delete cell"> 
< /body> 
< /html>

项目中的应用:
<script type="text/javascript"> var trIndex = 0; 
//动态增加行 
unction appendConvert(){ 
//var sel = document.getElementById("selectConvertName"); 
var sel = document.getElementsByName("selectConvertName")[0]; 
var className; 
if(null!=sel){ 
for(var i = 0; i < sel.options.length; i++){ 
if(sel.options[i].selected) 
className=sel.options[i].value; 
} 
} 
//数据来源于ajax,json形式。 
convert.getConvertBean2Json(className, 
function(result) { 
var obj = eval('('+result+')'); 
var table = document.getElementById("convertTable"); 
var newRow = table.insertRow(trIndex+1); 
newRow.insertCell(0).innerHTML = obj.name+"<input type='button' value='删除' onclick='deleteRow(this)'>"; 
newRow.insertCell(1).innerHTML = "<input type='text' name='convertList["+trIndex+"].id'><input type='hidden' name='convertList["+trIndex+"].name' value='"+obj.name+"'>"; 
if(null!=obj.paramList){ 
var paramStr = ""; 
for(var i = 0; i < obj.paramList.length; i++){ 
paramStr = paramStr+ 
"参数名:"+obj.paramList[i].name+ 
";参数类型:"+obj.paramList[i].type+ 
";参数值:<input name='convertList["+trIndex+"].paramList["+i+"].value' type='text'><br>"+ 
"<input type='hidden' name='convertList["+trIndex+"].paramList["+i+"].name' value='"+obj.paramList[i].name+"'>"+ 
"<input type='hidden' name='convertList["+trIndex+"].paramList["+i+"].type' value='"+obj.paramList[i].type+"'>"; 
} 
newRow.insertCell(2).innerHTML = paramStr; 
} 
trIndex++; 
}); 
} 

//删除行 
on deleteRow(r){ 
var i=r.parentNode.parentNode.rowIndex; 
document.getElementById('convertTable').deleteRow(i); 
trIndex--; 
} 
</script>
Javascript 相关文章推荐
关于JQuery($.load)事件的用法和分析
Apr 09 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
Dec 30 Javascript
JS清除选择内容的方法
Jan 29 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
微信小程序 toast 详解及实例代码
Nov 09 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
Vue2.0使用过程常见的一些问题总结学习
Apr 10 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
node+multer实现图片上传的示例代码
Feb 18 Javascript
详解js中的原型,原型对象,原型链
Jul 16 Javascript
jQuery 中国省市两级联动选择附图
May 14 #Javascript
全面兼容的javascript时间格式化函数(比较实用)
May 14 #Javascript
js实现图片拖动改变顺序附图
May 13 #Javascript
javascript判断是否按回车键并解决浏览器之间的差异
May 13 #Javascript
js加密解密字符串可自定义密码因子
May 13 #Javascript
JavaScript用Number方法实现string转int
May 13 #Javascript
javascript中expression的用法整理
May 13 #Javascript
You might like
PHP中date()日期函数有关参数整理
2011/07/19 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
js常用代码段整理
2011/11/30 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
python条件和循环的使用方法
2013/11/01 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
python中upper是做什么用的
2020/07/20 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
机械专业应届生求职信
2013/09/21 职场文书
公证委托书模板
2014/04/03 职场文书
投资合作协议书范本
2014/04/17 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
2014年度安全工作总结
2014/12/04 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫
vue的项目如何打包上线
2022/04/13 Vue.js