Javascript 如何在树中将元素上下移动一个位置

Javascript 如何在树中将元素上下移动一个位置,javascript,nodes,Javascript,Nodes,我似乎找不到JavaScript的基本功能。我希望通过单击按钮将元素向上移动一个位置或向下移动一个位置。jQuery和其他专有库不是一个选项 function moveDown() { if(document.getElementById('CMSeditingNode')) { var node = document.getElementById('CMSeditingNode'), parent = node.parentNode, nextNode = node.nextSibling,

我似乎找不到JavaScript的基本功能。我希望通过单击按钮将元素向上移动一个位置或向下移动一个位置。jQuery和其他专有库不是一个选项

function moveDown()
{
if(document.getElementById('CMSeditingNode'))
{
var node = document.getElementById('CMSeditingNode'),
parent = node.parentNode,
nextNode = node.nextSibling,
secondNode = nextNode.nextSibling,
oldChild = parent.removeChild(node);
parent.insertBefore( oldChild, secondNode ); }

答案非常有效,我在这篇文章中添加了insertAfter()的补充。

您要查找的方法/属性是、、和。代码段可能如下所示:

var node = document.getElementById('somenode'),
    parent = node.parentNode,
    prev = node.previousSibling,
    oldChild = parent.removeChild(node);
parent.insertBefore( oldChild, prev );
为了进行比较,(完整的)jQuery将是:

var $node = $('#somenode'),
            $node.prev().before($node);

你试过什么?你研究了什么?出了什么问题?你在使用什么标记?我已经根据我的问题和几个差异进行了搜索。我尝试使用contenteditable>GrabbyID>CreateNew和outerHTML,然后删除旧的div。从描述中可以看出,这相当复杂。什么标记?HTMLT非常感谢您的回复。我将从这个开始工作。