假设我在DOM中有两个<div>
元素。我可以很容易地用jQuery切换其标记之间,就像这样:在DOM中切换HTML元素而不复制HTML
function switch_html(el1, el2){
var el1_content = el1.html();
var el2_content = el2.html();
el1.html(el2_content);
el2.html(el1_content);
}
然而,实际上,我怎么切换DOM元素,而不仅仅是复制&开关HTML源代码?例如,在我正在开发的应用程序中,我正在交换<div>
的内容,其中包括填写<input>
的字段。如果仅复制这些字段的源HTML,则输入中包含的值将丢失。
jquery.replaceWith()。克隆一个节点。将第二个替换为第一个,然后将第二个克隆插入到第一个。应该克隆实际的DOM东西,而不仅仅是源,保留任何字段值。 –
看看[这个答案](http://stackoverflow.com/questions/8034918/jquery-switch-elements-in-dom) –
@MarcB像这样:'var el3 = el1.clone(); el1。 replaceWith(EL2); el2.replaceWith(EL3);'?这似乎只是删除第一个元素。 – element119