2014-12-08 4 views
0

просто быстрый. Я хочу изменить порядок двух конкретных div s в разметке. У обоих divs есть дети.Используйте insertAfter с дочерними элементами

<div class="first"> 
    <elem> 
    <elem> </elem> 
    </elem> 
</div> 

<div class="second"> 
    <elem> 
    <elem> </elem> 
    <elem> 
</div> 

и хотите его изменить, чтобы .second затем .first.

Я пробовал:

$('.first').insertAfter('.second'); 

, который работает, но без Чайлдс. Есть ли способ достичь того, что я хочу, с .insertAfter() или есть что-нибудь еще, что мне нужно сделать?

Благодаря

+1

Я не могу воспроизвести вашу проблему: http://jsfiddle.net/j08691/d5na6guf/. Можете ли вы создать скрипку? – j08691

ответ

1

Вставить после того, как не удаляет дочерние элементы, проверить это fiddle

<div class="first"> 
    <div>child of first</div> 
    <div>another of first</div> 
</div> 

<div class="second"> 
    <div>child of second</div> 
</div> 
+0

yup. Я выбрал неверного родителя. – supersize

0

В документации сказано: «Если элемент, выбранный таким образом, вставляется в одном месте в другом месте в DOM, он будет перемещен после цели (не клонирован), и возвращается новый набор, состоящий из вставленного элемента «

В простейшем случае (выберите по id - вставьте после div с заданным id), m y тесты показывают, что все дети приходят вместе с ним.

Смежные вопросы