jQuery .html()不复制textareas或输入的内容

Nic*_*unt 4 jquery textarea input

我正在尝试复制元素的内容,elem.html()但它不包括inputs或的内容textareas.

这是一个例子(尝试在框中写入然后单击"复制"):http://jsfiddle.net/gAMmr/2/

有没有办法复制所有信息?

这些是我到目前为止尝试过的方法:

  • elem.clone() - 不适合我的任务,因为它复制了元素本身
  • elem.children().clone() - 错过了文本节点
  • elem.contents().clone() - 不包括textarea内容

编辑:每个浏览器的结果似乎不同.我正在使用Chrome.

Bla*_*ger 5

$("button").click(function () {
    $("#2").html($("#1").html());
    $("#1").find("input").each(function(idx) {
        $("#2").find("input").eq(idx).val($(this).val());
    });
    $("#1").find("textarea").each(function(idx) {
        $("#2").find("textarea").eq(idx).val($(this).val());
    });
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/gAMmr/5/

  • @mblase我强烈建议不要**`$("#2").html($("#1").html())`.这样做:`$('#1').contents().clone().appendTo('#2');` (2认同)