2014-02-06 68 views
0
var group1 = $('#coach-group-group1'); 
var group2Title = $('#title-group2').clone(); 
group2Title.remove(); 
var group2 = $('#coach-group-group2').clone(); 
group2.remove(); 
$(group2, group2Title).insertAfter(group1); 

..似乎不起作用,它只插入提供的兩個元素中的第一個,而不是第二個,並且控制檯中也沒有錯誤。insertAfter jQuery中的多個元素

如何使用insertAfter依次插入多個元素?

+0

您正在刪除剛剛克隆的元素... – helion3

+0

是的,如果您要刪除元素,請在需要它們後執行:-P –

回答

3

$(group2, group2Title)不會創建一組兩個DOM元素。第二個參數is usually the context其中第一個參數被計算,但如果第一個參數不是選擇器,那麼第二個參數將被忽略。

好像你正在尋找.add

group2.add(group2Title).inserAfter(...); 

DEMO

但我認爲,如果你使用.after你的意圖會更清楚:

group1.after(group2, group2Title); 

FWIW,它沒有任何意義,請致電.remove,因爲它們不在文檔中。

+0

它們*在文檔中*,我需要重新排列而不用編輯標記。 – 3zzy

+0

@Nimbuz:不,「group2Title」等,是指**克隆的**節點。它們不包含在文檔中,它們是文檔中的克隆*。 –

+0

啊,對,明白了。 – 3zzy