表格有几行: 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" οnclick="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" οnclick="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" οnclick="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" οnclick="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='删除' οnclick='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>

table总结insertRow、deleteRow 学习相关推荐

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

    http://www.jb51.net/article/44476.htm 本篇文章主要介绍了javascript操作table(insertRow,deleteRow,insertCell,dele ...

  2. javascript操作table(insertRow(),deleteRow(),insertCell(),deleteCell()方法)

    定义和用法 insertRow() 方法用于在表格中的指定位置插入一个新行. 语法 tableObject.insertRow(index) 返回值 返回一个 TableRow,表示新插入的行. 说明 ...

  3. HTML DOM Table对象insertRow()方法与deleteRow()方法

    insertRow()方法 insertRow()方法用于在表格中的指定位置插入一个新行. 语法:tableObj.insertRow(index) 返回值:返回一个TableRow,表示新插入的行. ...

  4. PowerBuilder学习笔记(4)数据窗口(DataWindow)

    PowerBuilder学习笔记(4)数据窗口(DataWindow) 一.数据窗口对象(Object)与数据窗口控件(Control)     数据窗口对象是利用PowerBuilder所提供的数据 ...

  5. table取tr对象 vue_javascript的DOM对象终极总结:你必看的js面向对象

    <大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容.作 ...

  6. bootstrap table 表格支持shirt 多选_bootstrap-table 表格行内编辑实现

    这篇文章向大家介绍一下如何使用bootstrap table插件实现表格的行内编辑功能. 我的web前端学习交流群点击进入1045267283,欢迎加入! 先放一张效果图: 应用场景 之前的项目也是采 ...

  7. web前端学习(二)html学习笔记部分(3)--range对象

    1.2.8  html5编辑api之range对象(一) 1.2.8.1  Range 对象基本概念 Range 对象的基本概念,通过使用 Range 对象所提供的方法实现一个鼠标选取内容,通过点击按 ...

  8. Hadoop学习笔记系列文章导航

    一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长 ...

  9. 学习easyui疑惑(四)

    这篇文章我将着重写一下关于我这两天做用到easyui做table所遇到的问题,对于easyui所提供的便捷式插件我觉得应该给予肯定,但是同时对于easyui在做table方面的不足在这里说明一下. 首 ...

  10. 动态添加Table tbody 给option 下拉框动态赋值 逻辑删除

    var index = 0;function featureModel() {index++;let tHtml = `<tr><td><select name=&quo ...

最新文章

  1. 生成器、迭代器的区别?
  2. 嵌入式C语言基础链表
  3. 分治-Strassen矩阵乘法
  4. HIT Software Construction Review Notes(2-2 Process, Systems, and Tools of Software Construction)
  5. activiti表单设计器_基于Vue,ElementUI开发的一款表单设计器
  6. linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
  7. 【转载+整理】区块链学习笔记-北大肖臻老师课后笔记(01-13)——BTC篇
  8. 全国全量企业工商数据分析报告1
  9. latex 各级标题公式
  10. Java最牛教材!javaexcel合并单元格样式
  11. IPv4与IPv6区别
  12. 全链路压测核心技术解析
  13. 正则表达式去掉回车、换行、空白符号、空格
  14. 苏州大学未来校区来了!
  15. ios 代码设置控件宽高比_#iOS 开发实用技巧# Masonry 控件宽高(不同控件之间宽高比)比设置方法...
  16. 闭环控制[Python]
  17. 百度聚合时,label文字隐藏问题
  18. 一文读懂shell命令
  19. 梦幻西游原服务器物品,角色转移服务器说明 物品转移携带有限制
  20. 清华博士 计算机 论文,清华博士毕业生获智能交通系统学会最佳博士论文奖-清华大学新闻网...

热门文章

  1. php股票指标,最精准的换手率选股法股票指标 通达信公式(附图)
  2. 牛年交个朋友,重新认识一下云和恩墨!
  3. 2021租房合同样板
  4. 2019云栖大会归来有感
  5. 中国药科大学校长来茂德:我眼中“医疗+AI”的机会与挑战
  6. Tableau 网站流量分析案例汇总
  7. 《掌控习惯》读书笔记
  8. GBK版本和UTF-8版本的区别
  9. CSP 201712-3 Crontab(100)
  10. 基于LSTM自动生成中文藏头诗