请考虑以下HTML:
<div>
<p>Hello</p>
World
</div>
Run Code Online (Sandbox Code Playgroud)
为什么$("div").append($("p"));首先将其<p>从原来的位置移除?
注意:我不想创建第二个副本<p>.我只是想了解为什么jQuery <p>在添加它之前会删除它.
jQuery只是DOM的抽象,这就是DOM appendChild方法的作用.
将节点添加
newChild到此节点的子级列表的末尾.如果newChild已经在树中,则首先将其删除.
在某种程度上,它是有道理的; 节点有父,子和其他一些东西.如果节点可能位于多个不同的位置,则必须具有多个父节点等.这会给API增加许多不必要的复杂性.