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 相关文章推荐
农历与西历对照
Sep 06 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
Jan 31 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
Apr 01 Javascript
JS选取DOM元素的简单方法
Jul 08 Javascript
javascript history对象详解
Feb 09 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
实例分析js事件循环机制
Dec 13 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
图片文字识别(OCR)插件Ocrad.js教程
Nov 26 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
Mar 21 Javascript
js实现抽奖的两种方法
Mar 19 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中的串行化变量和序列化对象
2006/09/05 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
js轮播图代码分享
2016/07/14 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
js实现动态增加文件域表单功能
2018/10/22 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
python解析文件示例
2014/01/23 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Django框架模板的使用方法示例
2019/05/25 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
金讯Java笔试题目
2013/06/18 面试题
资产评估专业大学生求职信
2013/09/29 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
银行开业庆典方案
2014/02/06 职场文书
政风行风建设责任书
2014/07/23 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
个人原因辞职信模板
2015/05/13 职场文书