javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)


Posted in Javascript onDecember 16, 2013

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 获取对象 基本选择与层级
May 31 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
文本框水印提示效果的简单实现代码
Feb 22 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
jQuery实现商品活动倒计时
Oct 16 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
jQuery验证插件validate使用详解
May 11 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
详解Vue打包优化之code spliting
Apr 09 Javascript
微信小程序实现图片压缩
Dec 03 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
Jul 21 Javascript
利用js动态添加删除table行的示例代码
Dec 16 #Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 #Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 #Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 #Javascript
js中AppendChild与insertBefore的用法详细解析
Dec 16 #Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
Dec 16 #Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 #Javascript
You might like
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
python中urllib模块用法实例详解
2014/11/19 Python
详解Python中for循环的使用方法
2015/05/14 Python
深入理解Python中装饰器的用法
2016/06/28 Python
python验证码识别的实例详解
2016/09/09 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
人力资源专业推荐信
2013/11/29 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
优秀团队获奖感言
2014/02/19 职场文书
综治维稳工作汇报
2014/10/27 职场文书
赢在中国观后感
2015/06/02 职场文书
食品安全主题班会
2015/08/13 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript