$('#hiddenElement').html()
возвращает innerHtml
из #hiddenElement
в виде одной строки.
Вставка этой строки в $('#tooltip').html( /*here*/ );
приведет к тому, что jQuery обнаружит, что вы дали строку, и, следовательно, продолжит и проанализирует строку для новых HtmlElement
. Это означает, что вы фактически создали клон из содержимого #hiddenElement
, что стоит намного больше времени, чем jQuery.fn.clone () .
Если вы не хотите создавать клонов, вместо этого вы можете использовать jQuery.fn.contents()
:
$('#tooltip').html( $('#hiddenElement').contents() );
Однако, поскольку это не клонирует содержимое, оно перемещает их в новое место, и поэтому содержимое больше не будет находиться в #hiddenElement
.
Насколько я знаю, невозможно, чтобы один DOM-узел находился в двух родительских узлах одновременно.