`
378629846
  • 浏览: 216108 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

js动态创建、删除表格

阅读更多
生成一个2000*5的表格,每个单元格的内容是行号+逗号+列号

方法一:使用createElement生成表格,使用insertRow和insertCell方法生成行列,单元格的内容使用innerHTML属性进行填充。

方法二:使用createElement生成表格,使用CreateElement方法生成行列,单元格的内容使用了createTextNode方法填充。

方法三:拼接表格innerHTML属性的字符串,使用字符串 += 操作符链接字符串

方法四:拼接表格innerHTML属性的字符串,各个字符串追加数组里面,最后调用数组的join方法生成目标字符串。

运行时间比较:

方法 运行时间(ms)
方法一 93037
方法二 3341
方法三 2795
方法四 500

具体的程序如下:

<html>
  <head>
   <title>test page</title>
   <script type='text/javascript'>
     <!--
   function createTable() {
       var t = document.createElement('table');
       for (var i = 0; i < 2000; i++) {
        var r = t.insertRow();
        for (var j = 0; j < 5; j++) {
         var c = r.insertCell();
         c.innerHTML = i + ',' + j;
        }
       }
      
       document.getElementById('table1').appendChild(t);
      t.setAttribute('border', '1');
   }
  
   function createTable2() {
       var t = document.createElement('table');
       var b = document.createElement('tbody');
       for (var i = 0; i < 2000; i++) {
        var r = document.createElement('tr');
        for (var j = 0; j < 5; j++) {
         var c = document.createElement('td');
         var m = document.createTextNode(i + ',' + j);
         c.appendChild(m);
         r.appendChild(c);
        }
        b.appendChild(r);
       }
      
       t.appendChild(b);
       document.getElementById('table1').appendChild(t);
      t.setAttribute('border', '1');
   }
  
   function createTable3() {
    var data = '';
   
    data += '<table border=1><tbody>';
       for (var i = 0; i < 2000; i++) {
        data += '<tr>';
        for (var j = 0; j < 5; j++) {
         data += '<td>' + i + ',' + j + '</td>';
        }
        data += '</tr>';
       }
       data += '</tbody><table>';
      
       document.getElementById('table1').innerHTML = data;
   }
   function createTable4() {
    var data = new Array();
   
    data.push('<table border=1><tbody>');
       for (var i = 0; i < 2000; i++) {
        data.push('<tr>');
        for (var j = 0; j < 5; j++) {
         data.push('<td>' + i + ',' + j + '</td>');
        }
        data.push('</tr>');
       }
       data.push('</tbody><table>');
      
       document.getElementById('table1').innerHTML = data.join('');
   }

   function showFunctionRunTime(f) {
    var t1 = new Date();
    f();
    var t2 = new Date();
    alert(t2 - t1);
   }
     //-->
   </script>
  </head>
<body>
  <div id="table1" style="border: 1px solid black">
  </div>

  <script>
   showFunctionRunTime(createTable);
   showFunctionRunTime(createTable2);
   showFunctionRunTime(createTable3);
   showFunctionRunTime(createTable4);
  </script>
</body>
</html>

1、inserRow()和insertCell()函数
  insertRow()函数可以带参数,形式如下:
  insertRow(index)
  这个函数将新行添加到index的那一行前,比如insertRow(0),是将新行添加到第一行之前。默认的insertRow()函数相当于insertRow(-1),将新行添加到表的最后。
  insertCell()和insertRow的用法相同。
  2、动态设置属性和事件
  上面的innerHTML和innerText都是列的属性。
  innerText是添加到<tb></tb>之间的文本,innerHTML是添加到<tb></tb>之间的HTML代码
  设置其他属性也是用同样的方式,比如,设置行背景色
  tr.bgColor = 'red';
   设置colspan属性
    td.colSpan = 3;
  
  设置事件也一样,需要简单说明一点。
  比如,我要让点击新加行的时候执行一个自己定义的函数 newClick,newClick函数如下:
  function newClick(){
     alert("这是新添加的行");
  }
  对onclick事件设置这个函数的代码如下:
  tr.onclick = newClick;
  这里需要主义的是,=后面的部分必须是函数名,而且不能带引号,
  newTr.onclick = newClick();
  newTr.onclick = 'newClick';
  newTr.onclick = "newClick";
  上面的写法都是错误的。
  下面的写法,也是正确的
  newTr.onclick = function newClick(){
     alert("这是新添加的行");
  }

原文:http://abaper.blogbus.com/logs/8278500.html



动态删除表格 

  方法1:
  <table   id=mxh   border=1>  
  <tr>  
  <td>第1行</td><td   onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td>  
  </tr>  
  <tr>  
  <td>第2行</td><td   onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td>  
  </tr>

  </table>

<script>  
  function   deleteRow   (tableID,   rowIndex)   {  
      var   table   =document.all[tableID]  
      table.deleteRow(rowIndex);  
  }
  function getRowNum(tableID){    
     var tab = document.all[tableID]
      //表格行数
      var rows = tab.rows.length ;
      //表格列数
      var cells = tab.rows.item(0).cells.length ;
  } 
</script>

方法2:

<table   id=mxh   border=1>  
  <tr>  
  <td>第1行</td><td   onclick="deleteRow(this.parentElement)">删除本行</td>  
  </tr>  
  <tr>  
  <td>第2行</td><td   onclick="deleteRow(this.parentElement)">删除本行</td>  
  </tr>

  </table>

<script>  
  function   deleteRow   (obj)   {  

      obj.parentElement.removeChild(obj);  
  }    
  </script>

分享到:
评论
1 楼 赤道螞蟻 2010-09-15  
请问能在create table的td中在create table吗?? 运行不成功了

相关推荐

    javascript动态创建表格

    JavaScript 动态创建表格知识点总结 JavaScript 动态创建表格是指使用 JavaScript 语言来动态地创建和修改 HTML 表格的行和单元格。这种技术非常有用,特别是在需要频繁地更新表格数据的情况下。 动态创建表格的两...

    动态创建删除表格

    在网页开发中,动态创建和删除表格是一种常见的需求,特别是在数据展示和用户交互场景下。jQuery库因其简洁的API和强大的DOM操作能力,被广泛用于此类任务。本篇将深入探讨如何使用jQuery来动态实现表格的创建和删除...

    JavaScript动态添加删除表格行

    这篇博客"JavaScript动态添加删除表格行"可能详细讲解了如何使用JavaScript实现这一功能。通过给定的标签"源码"和"工具",我们可以推测这篇文章会包含实际的代码示例和实用方法。 在HTML中,`&lt;table&gt;`元素用于创建...

    js动态添加删除表格

    在JavaScript中,动态添加和删除表格是常见的网页交互功能,主要应用于数据展示、表单处理等场景。这篇博文通过一个简单的实例,展示了如何利用JavaScript实现这个功能。在讲解之前,我们先了解一下HTML表格的基本...

    JS动态增加删除表格行

    本文将深入探讨如何使用JavaScript动态地增加和删除表格行。 首先,我们来了解一下HTML表格的基本结构。一个表格由`&lt;table&gt;`元素包含,其中包含`&lt;tr&gt;`(表格行)元素,每行内可以有多个`&lt;td&gt;`(表格数据单元格)或`...

    js的节点操作动态创建table表格,创建行,删除行.pdf

    JavaScript 动态创建 Table 表格和节点操作 根据提供的文件信息,我们可以总结出以下知识点: 1. 节点操作 在 HTML 文档中,所有内容都是节点,包括文档节点、元素节点、文本节点、属性节点和注释节点。节点操作...

    javascript_动态创建表格

    总结来说,使用JavaScript动态创建和管理表格是一种非常实用且强大的功能,可以帮助开发者根据用户的需求实时调整表格结构。通过上述方法的介绍,你可以更灵活地控制表格的显示效果,提高用户体验。

    javascript动态创建表格.doc

    总结来说,JavaScript动态创建和操作表格的核心在于理解`insertRow()`、`insertCell()`、`deleteRow()`和`deleteCell()`方法的使用,以及如何灵活地设置表格和单元格的属性。在实际应用中,要注意浏览器兼容性问题,...

    js 添加删除表格

    总的来说,JavaScript提供了强大的DOM操作能力,使得我们可以灵活地控制网页中的HTML元素,包括动态创建和删除表格。在实际项目中,结合CSS和Ajax,可以实现更丰富的表格功能,如排序、过滤和分页等。

    javascript 动态创建表格:新增、删除行和单元格.zip

    总结来说,这个压缩包提供的知识涵盖了JavaScript动态创建和操作HTML表格的基本技巧,对于想要提升网页交互性的开发者尤其有用。通过学习和实践这些方法,你可以创建出更具活力和用户友好的网页应用。

    js动态操作表格

    以上就是JavaScript动态操作表格的基本方法。实际应用中,可能还需要考虑到事件监听、异步数据加载等情况。通过熟练掌握这些技巧,你可以创建出交互性强、功能丰富的表格应用。记住,实践是检验理论的最好方式,尝试...

    Jquery创建动态表格

    使用jQuery,我们可以动态创建表格元素。例如,创建一个带有表头的表格: ```javascript var table = $('&lt;table&gt;&lt;/table&gt;'); var thead = $('&lt;thead&gt;&lt;/thead&gt;'); var tr = $('&lt;tr&gt;&lt;/tr&gt;'); // 添加表头...

    javascript动态操作表格

    总的来说,JavaScript动态操作表格涉及创建、删除、选择和更新表格元素,这些都需要对DOM有深入理解。在实际应用中,还要考虑浏览器兼容性,特别是对于较旧的浏览器,如IE6和早期的Firefox版本。通过合理使用...

    js创建table表格

    - **动态数据加载**:如果你的数据来源于服务器,可以使用AJAX请求获取数据,然后动态创建表格。 - **表单验证**:对于输入框,你可能需要验证用户输入的数据格式是否正确。 - **交互功能**:例如,添加删除行、添加...

    JS实现页面创建表格.rar

    实现页面创建表格,和删除指定列、行单元格功能。利用JavaScript动态创建表格,可根据用户的使用需求动态添加指定列数、行数,删除指定列数、行数。删除成功或不成功时,会反馈给用户一个弹框提示,增强用户体验感。

    javascript动态添加表格数据行

    在JavaScript编程中,动态添加表格数据行是一种常见的需求,特别是在构建交互式的Web应用程序时。这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用...

    用jsf页面动态创建表格

    本文介绍了如何在JSF页面中使用JavaScript动态创建表格,并提供了详细的示例代码。通过这种方式,可以根据用户的操作实时更新表格内容,极大地提高了Web应用的灵活性和可用性。此外,还讨论了如何添加更复杂的表单...

    JavaScript如何动态创建table表格

    本文将详细介绍两种JavaScript动态创建table表格的方法。 方法一:最原始的方法,通过`createElement()`函数逐个创建元素。这种方法需要手动构建表格的结构,包括`&lt;table&gt;`、`&lt;tbody&gt;`、`&lt;tr&gt;`和`&lt;td&gt;`等元素。例如...

    js 动态表格增 删 查 改

    在JavaScript编程中,动态表格是一种常见的交互式网页元素,它允许用户在运行时添加、删除、检查和修改数据。这种功能对于数据展示和管理尤为重要,特别是在Web应用中处理大量结构化信息时。以下是对"js 动态表格 增...

Global site tag (gtag.js) - Google Analytics