2010-10-23 141 views
23

我想用jquery克隆將選定div的內容複製到另一個div。 但我不想將它追加到任何地方如何克隆div的內容到另一個div

我的意思是當我們用jquery創建一個div的克隆(糾正我,如果我錯了),我們必須設置它的位置,它會動態地創建一個新的分區被展示。

,但我希望得到一個選擇的div的內容,並將其複製到其他預先設定的div

+0

感謝ü都在這裏是我真正希望發生http://www.jsfiddle.net/pahnin/c2p54/2/ – pahnin 2010-10-23 10:15:10

回答

46
var a = $('#selector').html(); 
var b = $('#selector').html(a); 

不知道我理解你正確,但我認爲是你的意思:)

+14

這也可以寫成:'$(「#selectorDestination」)HTML ($( '#selectorSource')HTML());'。避免聲明變量。 – 2010-10-23 05:46:10

+8

唯一我們應該謹慎的是我們不應該複製HTML中的ID – kobe 2010-10-23 05:57:09

+0

@dustin是的,這是同樣的事情,但我想,因爲他要求不要把dom「我不想把它追加到任何地方」: )多數民衆贊成在最好的方式 – Val 2010-10-23 06:03:35

7

我不同意。克隆可以保存數據而不應用於內容。

看吧:

http://www.jsfiddle.net/dactivo/FqffM/

var mylayer=$('.hello').clone(); 

在這裏,您可以管理變量 「mylayer」 只要你想,這是不是在DOM。

+0

反正val的方法很簡單,我認爲它適合我 – pahnin 2010-10-23 09:34:52

+0

當然,html()是一個很好的方法,但它是很好的知道克隆()可以不包含在DOM中管理 – netadictos 2010-10-23 10:44:11

+1

'克隆'也複製容器元素,我不認爲@pahnin想要的。 – 2010-10-23 15:40:32

4
$("#from").clone().appendTo($("#to")); 

但它不會刪除/隱藏主DIV。要隱藏主DIV,這樣做:

$("#from").clone().appendTo($("#to")); 
$("#from").remove(); 
+0

我想你不明白我的問題。 – pahnin 2012-11-07 12:24:20

4
$(".from").click(function() { 
    $(".from").removeClass("CloneMe"); 
    $("#to").html(''); 
    $(this).addClass("CloneMe"); 
    $(".CloneMe").clone().appendTo("#to"); 

}); 

您可以添加點擊(或其他事件),一類是硬編碼的克隆。在這個例子中有一個包含樣式化內容的相同類名列表(div等) - 添加.CloneMe類,但首先刪除該類以清空div,以防用戶選擇不同的項目。 )是安全的刪除任何html。然後使用(this)應用該類,以避免抓取具有該類名稱的所有項目並最終追加到div。結果是用戶可以選擇具有該類名稱的任何項目並將其填充到容器中。 - 我想象使用容器的類將允許你在多個地方填充它。


+0

爲什麼所有這些,而不是使用@ val的直截了當的答案 – pahnin 2013-08-12 11:37:21

相關問題