Добавление внутреннего содержимого контейнера без потери привязки в jQuery - PullRequest
0 голосов
/ 22 сентября 2011

Я пытаюсь добавить содержимое контейнера из одного в другой, не теряя при этом никакой привязки, и я чешу голову, удивляясь, почему это так сложно: 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 Ответ

1 голос
/ 22 сентября 2011

Это должно делать то, что вы хотите:

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

Пример JSBin - вы заметите, что функция изменения все еще работает в добавленном поле.

...