删除并重新插入DOM元素onclick

时间:2011-05-27 02:39:55

标签: javascript dom appendchild removechild

我最近写了一个脚本,其中我需要一个元素在单击时移动到顶部。我使用了多年来在onclick函数中使用了以下代码:

this.parentNode.appendChild(this.parentNode.removeChild(this));

脚本无效,所以我搞乱了代码,尝试以前从未做过的事情来修复它。我认为问题可能在于这行代码。实际上,事实证明它与它没有任何关系,但是当我在修补时,我注意到以下代码似乎执行相同的功能。

this.parentNode.appendChild(this);

据我所知,没有区别。前者对我来说感觉“更好”,但我不能真正说出原因。有实际的区别吗?如果没有,我将开始使用后者并保存十八个字符: - )

1 个答案:

答案 0 :(得分:2)

this不是this的孩子 您需要从父节点中删除子项。

但是,appendChildimplicitly remove the node from any existing parent(元素不能有多个父母):

  

如果节点已存在,则将其从当前父节点中删除,然后添加到新的父节点。

相关问题