在jQuery中添加容器的内部内容而不会丢失绑定

时间:2011-09-22 10:50:59

标签: javascript jquery html jquery-selectors append

我正试图将一个容器的内容从一个附加到另一个而不会丢失任何类型的绑定,我在摸不着头脑,想知道它为何如此困难:D

<div class="container">
    <div class="field">
         <label>Password</label>
         <input type="username" />
    </div>
</div>
<div class="container">
    <div class="field">
         <label>Password</label>
         <input type="password" />
    </div>
</div>

// This puts the actual container in, I need the inner contents of it
$('.container').eq(0).append($('.container').eq(1));

// This loses any sort of binding that applies to what I'm moving
$('.container').eq(0).append($('.container').eq(1).html());

// This screws up the HTML
$('.container').eq(0).append($('*', $(container).eq(1)));

似乎这么简单而且常见的任务,但我不知道如何解决这个问题?我的第一个答案是将内容包装在另一个容器中,然后移动它。

你觉得怎么样?我生气还是不可能? :d

1 个答案:

答案 0 :(得分:1)

这应该做你想要的:

$('.container').eq(0).append($('.container').eq(1).children());

JSBin Example - 您会注意到更改功能仍适用于附加字段。