JavaScript. Подробное руководство, 6-е издание, стр. 303
Каждый из этих пяти методов, изменяющих структуру документа, может также принимать функцию, которая должна вызываться для вычисления вставляемого значения. Как обычно, в этом случае функция будет вызываться по одному разу для каждого выбранного элемента. Ссылка
<b>this</b><b>jQuery</b><b>append(), prepend()</b><b>replaceWith()</b><b>befоге()</b><b>after()</b>Все пять методов, представленные выше, применяются к целевым элементам и принимают вставляемое содержимое в виде аргумента. Для каждого из этих пяти методов имеется парный метод, действующий в обратном порядке: он вызывается относительно содержимого и принимает целевые элементы в виде аргументов. Пары методов перечислены в следующей таблице:

Методы, продемонстрированные в примере выше, перечислены во втором столбце. Методы, перечисленные в третьем столбце, будут демонстрироваться ниже. Есть несколько важных замечаний, касающихся этих пар методов:
• Если любому методу из второго столбца передать строку, он будет интерпретировать ее как разметку HTML. Если передать строку любому методу из третьего столбца, он будет интерпретировать ее как селектор, идентифицирующий целевые элементы. (Целевые элементы можно также указывать явно, передавая объект
<b>jQuery</b><b>Element</b><b>Node</b>• Методы из третьего столбца не принимают функции в аргументах, в отличие от методов из второго столбца.
• Методы из второго столбца возвращают объект
<b>jQuery</b><b>jQuery</b><b>jQuery</b><b>jQuery</b>После перечисления различий реализуем те же операции, что и в примере выше, с помощью методов из третьего столбца. Обратите внимание, что во второй строке методу
<b>$()</b><b>$C'<br/>+message").appendTo(''#log"); // Добавить разметку html в #log </b><b>$(document.createTextNode(”§")).prependTo( "h1"); // Добавить текстовый узел во все <h1> </b><b>$('<hr/>").insertBefore("h1"); // Вставить линию перед каждым <h1></b><b>$("<hr/>").insertAfter("h1"); // Вставить линию после каждого <h1></b><b>$("<br/>").replaceAll("hr"); // Заменить элементы <hr/> на <br/></b>19.3.2. Копирование элементов
Как отмечалось выше, при вставке элементов, уже являющихся частью документа, эти элементы не копируются, а просто перемещаются в новое местоположение. Если элемент вставляется в несколько мест, библиотека jQuery скопирует элемент столько раз, сколько потребуется, но копирование не выполняется при вставке только в одно местоположение. Если потребуется не переместить, а скопировать элемент, необходимо сначала создать копию с помощью метода
<b>clone().</b><b>сlопе()</b><b>jQuery</b><b>// Добавить новый div с атрибутом id="linklist" в конец документа </b><b>$(document.body).append("<div id= 'linklist' ><h1>List of Links</h1></div>");</b><b>// Скопировать все ссылки в документе и вставить их в этот новый div </b><b>$("а").clone().appendTo("#linklist");</b><b>// Вставить элементы <Ьг/> после каждой ссылки, чтобы они отображались в отдельных строках </b><b>$("#linklist > а").after("<br/>");</b>По умолчанию метод clone() не копирует обработчики событий (раздел 19.4) и другие данные (раздел 19.2.7), связанные с элементами. Если необходимо будет скопировать эти дополнительные данные, передайте методу
<b>clone()</b>19.3.3. Обертывание элементов
Другой способ вставки элементов в HTML-документ связан с обертыванием новым элементом (или элементами) одного или более элементов. Объект
<b>jQuery</b><b>wrap()</b><b>wrapInner()</b><b>wrapAll()</b><b>Element</b><b>jQuery</b>