2011-09-22 44 views
0

我試圖將一個容器的內容從一個添加到另一個,而不會丟失任何類型的綁定,而我抓着我的腦袋想知道爲什麼這麼困難:D附加一個容器的內容而不會丟失jQuery中的綁定

<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

+0

'.html()'將元素序列化爲一個字符串,這就是第二次嘗試失去事件綁定的原因。我不確定爲什麼1st不會工作,除了事件綁定之外,如果第二個是的話。 –

回答

1

這應該做你想要什麼:

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

JSBin Example - 你會發現改變功能仍然工作在附加字段。

+0

Aggh!當然是的:D非常感謝......我不太清楚爲什麼我以前沒有想到這一點8) –