如何将 DOM 中已有的一个 jQuery 元素附加到另一个元素?

Clo*_*ign 3 html javascript jquery dom

我想要获取 DOM 中页面上已有的一个元素,并将其附加到<div>DOM 中的另一个或元素。

\n

我不想\xe2\x80\x99t 想要附加一个字符串,但我使用了这个:

\n
$("#dialog-form-Member").append($("div#MemberFormWrapper"));\n
Run Code Online (Sandbox Code Playgroud)\n

它获取了我的元素并将其放在我想要的位置,它也删除了第一个元素,以便将其放入另一个元素中。

\n

例子:

\n
<div id="one">\n  I want to put this div into div two without div one disappearing. Keep both divs visible at the same time.\n</div>\n\n<div id="two">\n  I want the content of div one to show here and keep both divs visible.\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

如果有人有任何建议,请告诉我。

\n

Cha*_*ndu 5

您需要在附加之前克隆该元素,以保留原始元素。

 $("#dialog-form-Member").append($("div#MemberFormWrapper").clone()); 
Run Code Online (Sandbox Code Playgroud)

为了保留事件处理程序和/或数据,请检查克隆方法@ http://api.jquery.com/clone/的参数版本

摘自http://api.jquery.com/clone/

描述:创建匹配元素集的深层副本。

添加的版本: 1.0.clone( [ withDataAndEvents ] ) withDataAndEventsA 布尔值,指示事件处理程序是否应与元素一起复制。从 jQuery 1.4 开始,元素数据也将被复制。

添加的版本: 1.5.clone( [ withDataAndEvents ], [ deepWithDataAndEvents ] ) withDataAndEventsA 布尔值,指示事件处理程序和数据是否应与元素一起复制。默认值为 false。*对于 1.5.0,默认值不正确。在 1.5.1 及更高版本中,该值将改回 false。

deepWithDataAndEvents一个布尔值,指示是否应复制克隆元素的所有子元素的事件处理程序和数据。默认情况下,它的值与第一个参数的值匹配(默认为 false)。