如何移动HTML元素

iro*_*oel 14 javascript element move prototypejs

如何将HTML元素移动到另一个元素.请注意,我并不是指移动元素的位置.考虑这个HTML代码:

<div id="target"></div>
<span id="to_be_moved"></span>
Run Code Online (Sandbox Code Playgroud)

我想将"to_be_moved"移动到"目标",以便"目标"现在具有子"to_be_moved".所以结果应该是这样的:

<div id="target"><span id="to_be_moved"></span></div>
Run Code Online (Sandbox Code Playgroud)

我在谷歌搜索过(特别是使用原型框架),但我所拥有的只是移动位置,而不是我想要的.谢谢你.

med*_*iev 25

document.getElementById('target').appendChild(  document.getElementById('to_be_moved') )
Run Code Online (Sandbox Code Playgroud)

  • “如果给定的子节点是对文档中现有节点的引用,appendChild() **将**它从当前位置移动到新位置......” https://developer.mozilla.org/en-US /docs/Web/API/Node/appendChild. 知道组合相当于移动而不是复制是很有用的。它并不隐含在命名中。node.cloneNode() 将...按照它所说的去做。 (3认同)
  • 咦?元素的父元素会发生变化,因此它会被"移动".该节点不会被"删除",因为它现在位于DOM树的其他位置. (2认同)

Jos*_*ola 6

$("target").insert($("to_be_moved").remove());
Run Code Online (Sandbox Code Playgroud)

或者,为了更可读的方式......

var moveIt = $("to_be_moved").remove();
$("target").insert(moveIt);
Run Code Online (Sandbox Code Playgroud)

  • 你甚至不需要使用`.remove()`。您可以在新位置插入。 (3认同)