如何使用cloneNode克隆textareas?

时间:2015-08-03 14:42:04

标签: javascript jquery clonenode

我有2个表,并且有一个按钮我要将内容从tb_new克隆到tb_made

var tab = document.getElementById('tb_new');
var clone=tab.getElementsByTagName('tr')[1].cloneNode(true);
var table = document.getElementById("tb_made"); 
table.appendChild(clone);

除了一个textarea的单元格外,所有内容都克隆得很好。 我该如何解决这个问题?

小提琴是here

1 个答案:

答案 0 :(得分:3)

<textarea>中书写只会更新其值,而不是其内容。

要解决此问题,您可以执行以下操作:

&#13;
&#13;
function add() {
    var tab = document.getElementById('tb_new');
    var textAreas = tab.getElementsByTagName("textarea");

    for (var i = 0; i < textAreas.length; ++i) {
        textAreas[i].innerHTML = textAreas[i].value;
    }

    var clone = tab.getElementsByTagName('tr')[0].cloneNode(true);
    var table = document.getElementById('tb_made');
    table.appendChild(clone);
}
&#13;
<table id="tb_new">
    <tr>
        <td>
            <textarea>Test</textarea>
        </td>
        <td>
            <input>
        </td>
    </tr>
</table>
<input type="button" value="add" onClick="add()">
<table id="tb_made">
    <tr>
        <td></td>
    </tr>
</table>
&#13;
&#13;
&#13;