有如下需求,
          table中增加新行,我想克隆上一行的内容,并清空其内容,目的是得到没有内容的新行,
          不想通过 innerHtml来做增加行,只想先克隆在清空,求代码。

解决方案 »

  1.   

    <html>
    <body>
    <table>
    <tr id="tr_source"><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>a</td><td>b</td><td>c</td></tr>
    </table>
    <input type="button" value="克隆" id="button_clone"/>
    <script>
    window.onload = function() {
    var tr_source = document.getElementById("tr_source");
    document.getElementById("button_clone").onclick = function() {
    var row = tr_source.cloneNode(true);
    var tds = row.getElementsByTagName("td");
    for(var i = 0; i < tds.length; i++) {
    tds[i].innerHTML = "囧";
    }
    tr_source.parentNode.insertBefore(row, tr_source);
    };
    };
    </script>
    </body>
    </html>
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    <style>
    </style>
    <script src="jquery-1.3.2.js"></script>
    <script>
    $(function(){
     $("table tr").click(function(){
        var html = $(this).html();
      //html.appendTo("table").text("");
      alert(html)
      var tr = $("<tr></tr>");
      tr.appendTo($("table"));
      tr.append(html);
      tr.children("td").text("");
     });
    });
    </script>
    </head>
    <body>
      <table width="200" border="1">
      <tr>
        <td>1</td>
        <td>a</td>
        <td>一</td>
      </tr>
      <tr>
        <td>2</td>
        <td>b</td>
        <td>二</td>
      </tr>
      <tr>
        <td>3</td>
        <td>c</td>
        <td>三</td>
      </tr>
    </table>
    </body>
    </html>
    js也可以,只是代码很麻烦
      

  3.   

    lieri111:
    要使用jquery记得用
    http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
    这样方便大家调试
      

  4.   


    我现在的矛盾点是 我的table的第一列是struts的<html:radio property="xx" value="1"/>标签,
    这个标签用tds[i].innerHTML = <html:radio property="xx" value="1"/> 不好用
      

  5.   

    我之所以想用克隆是因为我的table还有tr 还有td 都有许多的样式,有的cell中还有别的控件(日历) radio
    所以增加新行的时候用克隆是最方便的。