javascript - 如何使用 cloneNode 克隆文本区域?

标签 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 的单元格外,一切都很好地克隆了。 我该如何解决?

fiddle 是 here .

最佳答案

写入 <textarea>只会更新它的值,不会更新它的内容。

要解决这个问题,您可以这样做:

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);
}
<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>

关于javascript - 如何使用 cloneNode 克隆文本区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790233/

相关文章:

javascript - 这段 JavaScript 代码有什么问题吗?

javascript - 可拖动代码不适用于 hammer.js

javascript - 关于表单、Ajax

javascript - javascript 中 Uncaught ReferenceError

javascript - 如何在使用 cloneNode(true) 后维护正确的 Javascript 事件

javascript - 在canvas.js气泡图上加载文本内容值

javascript - 迭代 Id,存储值,放入数组中

javascript - JavaScript加载页面到div时显示值?

javascript - jQuery .blur() - 不要隐藏事件的 div

javascript - 为什么不像输入元素那样在克隆时选择和文本区域值更改得到更新?