2011-04-04 77 views
0

所以,讓我們做到這一點時,DOM已準備就緒:.clone()保持不變?

var parent_copy; // global scope in this context 

function preDeviceSetup() { // only fired once - should be enough to set parent_copy 
    parent_copy = $('.parent').clone(true); // passes clone to var parent_copy; 
} 

我想做的事情不止一次一些事件在此之後更多:

function listWrap(count) { 
    $(parent_copy).replaceAll('.parent'); 
    //... 
} 

parent_copy將仍然堅持原來的克隆?在整個腳本中,更改都是在.parent元素中進行的,我希望它可能會多次與原始文件重寫。對不起,如果這沒有多大意義,只要進行3小時的睡眠(這是不夠的)。

+0

我不這麼認爲。它不是一個「實時」克隆,所以即使你在那裏改變東西,這並不意味着你會在任何地方改變它。爲什麼不每次都調用你的list_wrap?(並且包含克隆調用htere) – corroded 2011-04-04 06:05:03

回答

2

您不需要$(parent_copy)周圍的$(),因爲它已經是一個通過clone()調用的jQuery包裝對象。此外,parent_copy將作爲replaceAll的源代碼移入文檔中,因此您需要再次調用clone,以避免丟失原始副本:

function list_wrap(count) { 
    parent_copy.clone(true).replaceAll('.parent'); 
    //... 
} 
+0

因此,每次parent_copy將它放入DOM中就會清空它?我想這會解釋這隻能工作一次的原因。 – 2011-04-04 06:11:44

+0

更新:我的大腦被炸,但我現在可以去睡覺了...它工作。謝謝。 – 2011-04-04 06:14:17