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 相关文章推荐
Valerio 发布了 Mootools
Sep 23 Javascript
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
jscript之Open an Excel Spreadsheet
Jun 13 Javascript
javascript 写类方式之五
Jul 05 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 Javascript
jquery判断对象是否为空并遍历对象的简单实例
Jul 26 Javascript
Spring Boot/VUE中路由传递参数的实现代码
Mar 02 Javascript
在Webpack中用url-loader处理图片和字体的问题
Apr 28 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 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数据库连接
2006/10/09 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
js密码强度校验
2015/11/10 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
全国道德模范事迹
2014/02/01 职场文书
音乐教学随笔感言
2014/02/19 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
事业单位个人总结
2015/02/12 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书