Как переместить элемент вверх / вниз на одну позицию в дереве - PullRequest
3 голосов
/ 28 сентября 2011

Я не могу найти то, что должно быть основной функцией 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 ().

1 Ответ

16 голосов
/ 28 сентября 2011

Методы / свойства, которые вы ищете: parentNode , previousSibling , nextSibling , removeChild , insertBefore и 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...