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 相关文章推荐
js中cookie的使用详细分析
May 28 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
仿百度输入框智能提示的js代码
Aug 22 Javascript
JavaScript入门基础
Aug 12 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
vue watch监听对象及对应值的变化详解
Feb 24 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
JS实现前端动态分页码代码实例
Jun 02 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
10个Python小技巧你值得拥有
2018/09/29 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
教师新年寄语
2014/04/03 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
护理培训心得体会
2016/01/22 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
ipad隐藏软件app图标方法
2022/04/19 数码科技