2014-02-06 44 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