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 相关文章推荐
javascript EXCEL 操作类代码
Jul 30 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
Jan 02 Javascript
jQuery中 delegate使用的问题
Jul 03 Javascript
超精准的javascript验证身份证号的具体实现方法
Nov 18 Javascript
jQuery移动web开发中的页面初始化与加载事件
Dec 03 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
JS限制输入框输入的实现代码
Jul 02 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 Javascript
QT与javascript交互数据的实现
May 26 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伪造referer实例代码
2008/09/20 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP查询分页的实现代码
2017/06/09 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
对Python 数组的切片操作详解
2018/07/02 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
python cookie反爬处理的实现
2020/11/01 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
利用python 下载bilibili视频
2020/11/13 Python
利用python绘制正态分布曲线
2021/01/04 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
小学班长竞选演讲稿
2014/04/24 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
社区义诊通知
2015/04/24 职场文书
伊索寓言读书笔记
2015/06/30 职场文书