Как поменять местами элементы в дереве элемента родителя?
Есть DIV, в котором находятся другие DIV'ы. В этих же дивах находятся элементы типа INPUT и TEXTAREA. Хочу узнать, возможно ли в дереве главного дива изменить порядок расположения дочерних элементов (дивов). Скажем мне надо поменять местами какие-нибудь два дива. При этом, хорошо бы, что бы введенные данные в элементах INPUT и TEXTAREA не исчезли при смене.
Берем див: var div = document.getElementById('parentDiv'); С помощью div.childNodes[i] я могу получить любой дочерний див. Вот я и спрашиваю, есть ли методы реализации моего вопроса. |
Любой dom-узел можно вставить в другое место с помощью методов appendChild и insertBefore, их состояние при этом не изменится.
|
А можно ссылку на какой-нибудь примерчик или на документацию? Спасибо.
|
Ну допустим где-то в середине страницы есть элемент с id=test, тогда после выполнения следующего кода он окажется в конце страницы
document.body.appendChild(document.getElementById('test')); Метод insertBefore первым параметром принимает вставляемый элемент, вторым элемент, перед которым нужно вставить. З.Ы. С документацией яндекс поможет :) |
Спасибо. Буду разбираться.
Однако, если у кого есть какие-то мысли - просьба излагать:) |
Мысли о чем?
|
А случайно нет метода что бы вставить не перед, а после нужного элемента?
|
Для этого нужно вставить перед следующим :)
А следующий это свойство nextSibling у нужного элемента. |
Спасибо.
|
Часовой пояс GMT +3, время: 16:10. |