Дополнительно
Как перенести элемент в другой элемент?
Я бы хотел, чтобы переместить один элемент div внутри другого. Например, я хочу перенести это (включая всех детей):
<div id="source">
...
</div>
в этом:
<div id="destination">
...
</div>
так что у меня есть это:
<div id="destination">
<div id="source">
...
</div>
</div>
1607
14
Вы можете использовать
добавление
функция (которая добавляет в конец элемента):В качестве альтернативы вы могли бы использовать
prependTo
функция (которая добавляет в начало элемент):Пример:
в
в
мое решение:
Ход:
Копия:
Обратите внимание на использование .отсоединить(). При копировании, будьте осторожны, что вы не дублируя идентификаторы.
Я просто использовал:
Который я взял из здесь.
Если
див
, где вы хотите поместить свой элемент имеет содержимое, и вы хотите, чтобы элемент, чтобы показать после основное содержание:Если
див
, где вы хотите поместить свой элемент имеет содержимое, и вам хочу показать элемент до основное содержание:Если
див
, где вы хотите поместить свой элемент является пустым, или вы хотите, чтобы заменить его целиком:Если вы хотите, чтобы дублировать элемент, прежде чем любой из вышеперечисленных:
А как насчет язык JavaScript решение?
Объявить фрагмент:
фрагмент ВАР = документ.createDocumentFragment();
Добавить нужный элемент к фрагменту:
фрагмент.метода appendChild(документ.метода getElementById('Источник'));
Фрагмент добавить нужный элемент:
документ.метода getElementById('пункт назначения').метода appendChild(фрагмент);`
[Проверить это.][1]
Вы можете использовать:
Вставить После,
Чтобы вставить внутрь другого элемента,
Когда-нибудь пробовали обычный JavaScript...
назначения.метода appendChild(источник);
?в
в
Если вы хотите быстро демо и подробности о том, как вы перемещаете элементы, попробуйте эту ссылку:
http://html-tuts.com/move-div-in-another-div-with-jquery
Вот короткий пример:
Чтобы двигаться выше элемент:
Для перемещения через элемент:
Для перемещения внутри элемента, прежде все элементы внутри контейнера:
Для перемещения внутри элемента, все элементы внутри контейнера:
Вы можете использовать следующий код, чтобы переместить источника к месту назначения
попробовать работать сайт CodePen
в
в
Старый вопрос, но не получил здесь, потому что мне нужно перемещать содержимое из одной емкости в другую , включая все прослушиватели событий.
в jQuery не'Т есть способ сделать это, но стандартная функция метода appendChild дом делает.
С помощью метода appendChild удаляет .источника и помещает его в цель, включая его'прослушивателей событий с: https://developer.mozilla.org/en-US/docs/Web/API/Node.appendChild
Вы можете также попробовать:
Но для этого придется полностью переписать все, что вы в
пути
.Я заметил, что огромная утечка памяти & разница в производительности между
insertAfter
&после
илиметод insertbefore
&перед
.. Если у вас есть тонны DOM-элементов, или вам нужно использовать после()или
до()` внутри MouseMove event, браузер памяти вероятно увеличить и следующие операции будут выполняться очень медленно.Решение Я'вэ только опытные заключается в использовании inserBefore, а не до () и insertAfter, а не после()`.
Вы можете использовать чистый JavaScript, то с помощью метода appendChild()` метод...
Так что вы можете сделать, чтобы сделать эту работу, это то, что я создал для вас, с помощью метода appendChild()`, запустить и посмотреть, как это работает для вашего случая:
в
в
Для полноты картины, есть еще один подход
обертывание()
илиwrapAll (), приведенным в [настоящей статьи](https://www.elated.com/articles/jquery-adding-elements/#wrap-wrapAll-wrapInner). Так что ОП'ы вопрос может быть решена с помощью этого (если предположить, что в
<див ИД="по назначению" и />` еще не существует, следующий подход будет создать такую оболочку с нуля - ОП не ясно, о том, фантик уже существует или нет):Это звучит многообещающе. Однако, когда я пытаюсь сделать `$(" и[ИД^=строка] и").wrapAll(" в<полей></полей>") смотрите на несколько вложенную структуру такой:
Это правильно обертывания тех, в
<див>...</дел>
и в<ввод>...</входной сигнал>
но почему-то оставляет в организации<ярлык>...</ярлык>
. Так что я в конечном итоге использовать явное `$("и строкой 1 и").добавить(" и#a_predefined_fieldset и") вместо этого. Так что YMMV.