2013-07-17 87 views
4

我有一個div與許多孩子。如何使用jQuery將他們全部移動到另一個div
我的代碼如下所示:jQuery移動所有的孩子到另一個div

jQuery("body").append("<div id='popupWrapper'></div>"); 
var myID = $('.FloatingFrameLightBlue1').attr('id'); 
jQuery(myID).children().append("popupWrapper"); 

但它不工作。我做錯了什麼?

+1

你檢查['.append()'文檔] (http://api.jquery.com/append/)? – nnnnnn

+0

@nnnnnn是的,我做了,因爲和新的'jQuery',我試着'.append()'只有一個元素,工作正常。當我試圖把它放在'孩子()'的時候,我開始搞亂了。什麼解決了它使用'appendTo()' –

回答

6

這裏有它的一個很簡單的例子:http://jsfiddle.net/LhR79/

因爲他們已經告訴過你。您需要使用appendTo而不是append,並使用名稱前面的.#指定選擇器類型(class,id ...)。在你的情況:#popupWrapper作爲popupWrapper是一個ID,而不是一個類。

3

您可能需要使用appendTo()代替append()也給# ID爲

jQuery('#'+myID).children().appendTo("#popupWrapper"); 
3

例子:HERE

您將字符串「popupWrapper」添加到子項,這沒有任何意義。 你應該做到以下幾點:

jQuery(myID).children().appendTo("#popupWrapper"); 
5

試試這個:

jQuery("#" + myID).children().appendTo("#popupWrapper"); 

由其id您需要在選擇#選擇一個元素。因此,執行附加操作的行需要以jQuery("#" + myID)而不是jQuery(myID)開頭,並且您需要"#popupWrapper"而不是"popupWrapper"

另一個問題是.append() method與您想要做的相反,即它將參數中指定的內容插入到匹配元素集中每個元素的末尾。你想要.appendTo() method

此外,請注意這一行:

var myID = $('.FloatingFrameLightBlue1').attr('id'); 

...獲取類的第一元(假設有至少一個這樣的元素的ID,它有一個id屬性,否則myID將爲undefined)。

不過,假設只有一個與該類元素,你不需要ID做追加,你可以這樣做:

$('.FloatingFrameLightBlue1').children().appendTo("#popupWrapper"); 
相關問題