Javascript 在单击时删除并重新插入DOM元素

Javascript 在单击时删除并重新插入DOM元素,javascript,dom,appendchild,removechild,Javascript,Dom,Appendchild,Removechild,我最近写了一个脚本,在这个脚本中,我需要一个元素在单击它时移动到顶部。我在onclick函数中使用了以下代码,并且已经使用了多年: this.parentNode.appendChild(this.parentNode.removeChild(this)); 脚本不起作用,所以我把代码弄乱了,尝试了以前从未做过的事情来修复它。我认为问题可能在于这行代码。事实上,它与此无关,但当我在修补时,我注意到下面的代码似乎执行相同的功能 this.parentNode.appendChild(this);

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

this.parentNode.appendChild(this.parentNode.removeChild(this));
脚本不起作用,所以我把代码弄乱了,尝试了以前从未做过的事情来修复它。我认为问题可能在于这行代码。事实上,它与此无关,但当我在修补时,我注意到下面的代码似乎执行相同的功能

this.parentNode.appendChild(this);
据我所知,没有区别。前者让我感觉“更好”,但我真的说不出原因。有实际的区别吗?如果没有,我将开始使用后者并保存18个字符:-)

不是此的子项
您需要从父节点中删除子节点

但是,
appendChild
will(元素不能有多个父元素):

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


对不起,你当然是对的。我发帖时漏掉了一个“parentNode”。我已经编辑了这个问题。谢谢你给我指出答案。我在这里潜伏多年,这是我第一次不得不自己问问题。这真是一个很棒的网站。我也对它的回答速度印象深刻。非常感谢。