附加容器的内部内容而不丢失 jQuery 中的绑定
我试图将一个容器的内容从一个容器附加到另一个容器而不丢失任何类型的绑定,我挠头想知道为什么它如此困难: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
I'm trying to append the contents of a container from one to the other without losing any sort of binding and I'm scratching my head wondering why it's so difficult :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)));
Seems like such a simple and common task but I've got no idea how to get around this? My first answer would be to wrap the content in another container and move that instead.
What d'ya think? Am I going mad or is this impossible? :D
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这应该可以满足您的要求:
JSBin 示例 - 您会注意到更改功能仍然适用于附加字段。
This should do what you want:
JSBin Example - You'll notice the change function still works on the appended field.