少年阿賓

          那些青春的歲月

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          生成一個(gè)2000*5的表格,每個(gè)單元格的內(nèi)容是行號(hào)+逗號(hào)+列號(hào)

          方法一:使用createElement生成表格,使用insertRow和insertCell方法生成行列,單元格的內(nèi)容使用innerHTML屬性進(jìn)行填充。

          方法二:使用createElement生成表格,使用CreateElement方法生成行列,單元格的內(nèi)容使用了createTextNode方法填充。

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

          方法四:拼接表格innerHTML屬性的字符串,各個(gè)字符串追加數(shù)組里面,最后調(diào)用數(shù)組的join方法生成目標(biāo)字符串。

          運(yùn)行時(shí)間比較:

          方法 運(yùn)行時(shí)間(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>

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



          動(dòng)態(tài)刪除表格  

            方法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);  
            }    
            </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>

          分享到:

          posted on 2012-08-28 21:20 abin 閱讀(1331) 評(píng)論(0)  編輯  收藏 所屬分類: Javascript
          主站蜘蛛池模板: 梁平县| 章丘市| 灌阳县| 朝阳县| 和平区| 临泉县| 鸡泽县| 江山市| 吴桥县| 凤城市| 永顺县| 龙州县| 酉阳| 中宁县| 赤城县| 玛多县| 仪征市| 临安市| 日照市| 扎兰屯市| 奉化市| 松江区| 固原市| 靖安县| 武乡县| 广汉市| 平潭县| 河西区| 栾川县| 元氏县| 铅山县| 武定县| 清河县| 威海市| 来宾市| 墨竹工卡县| 尼勒克县| 化德县| 铁岭市| 衡阳县| 上饶市|