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 相关文章推荐
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 Javascript
jquery json 实例代码
Dec 02 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
JavaScript奇技淫巧44招【实用】
Dec 11 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
Vue实现带进度条的文件拖动上传功能
Feb 23 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 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
Protoss热键控制
2020/03/14 星际争霸
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP框架性能测试报告
2016/05/08 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP 类与构造函数解析
2017/02/06 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
使用python爬取B站千万级数据
2018/06/08 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
用友笔试题目
2016/10/25 面试题
初婚未育证明
2014/01/15 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
纠风工作实施方案
2014/03/15 职场文书
努力工作保证书
2015/02/28 职场文书
教师师德表现自我评价
2015/03/05 职场文书
2015年人事科工作总结
2015/04/28 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
pandas数值排序的实现实例
2021/07/25 Python
Python中time与datetime模块使用方法详解
2022/03/31 Python