javascript - 在 DOM 中切换 HTML 元素而不复制 HTML

标签 javascript jquery html dom

假设我有两个 <div> DOM 中的元素。我可以使用 jQuery 轻松地在它们之间切换标记,如下所示:

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 append/element.appendChild 移动实际的 DOM 节点。移动实际的 DOM 节点,不要尝试进行复制/克隆。

试试这个:

var children1 = $('#el1').children();
var children2 = $('#el2').children();

$('#el1').append(children2);
$('#el2').append(children1);

关于javascript - 在 DOM 中切换 HTML 元素而不复制 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016830/

相关文章:

javascript - 在 Django 请求中获取请求来源

javascript - 引用已被追加()到内容中的 div(通过 id)

html - CSS3 buggy 悬停/过渡效果

javascript - 幻灯片 jq 中未显示输入的占位符

javascript - 计算 JSON 中每个项目的出现次数

javascript - 进行数据绑定(bind) :click work like a marker. addListener()

javascript - Slim 中的 onclick 事件不起作用 - 将 ' 转换为 &#x27

javascript - 当点击标题时,让信息显示在另一个div上的信息?

jquery - jQuery 动画是否在现代浏览器上使用 css3 转换?

javascript - 通过 HTML5/JavaScript 从手机发送短信