Раз существует возможность добавлять в документ новые элемен не менее естественной кажется возможность удалять их. Удаление лов производится с помощью метода removeChild(). Он прин1 единственный аргумент - удаляемый узел. Допустим, вы хотите лить из документа первый элемент . Возьмем следующий мент кода:
var oRemovedChild = oRoot.removeChild(oRoot.firstChild);
Метод removeChildO возвращает ссылку на удаленный дочерний таким образом, переменная oRemoveChild теперь ссылается на уд ный элемент . Теперь у вас имеется отдельно старый узел, рый можно поместить в любое место в документе.
Предположим, что теперь надо заменить третий элемент <Ь на oRemoveChild. Замена выполняется с помощью метода replaceChi который возвращает замененный узел:
var: oReplacedChild = oRoot.replaceChild(oRemovedChild, oRoot. cnildNode-
Метод replaceChild() принимает два аргумента: ссылку на заме щий узел и ссылку на замещаемый узел. В этом фрагменте кода oRemoveChild замещает третий элемент , ссылка на котор писывается в переменную oReplacedChild.
Поскольку теперь переменная oReplacedChild ссылается на отд узел, который был замещен, можно при необходимости вставить кумент и его. Для добавления элемента в конец документа моя ратиться к методу appendChild(), а для того чтобы вставить его некоторым определенным узлом - к методу insertBefore():
oRoot.insertBefore(oReplacedCnild, oRoot.lastChild);
Этот фрагмент кода вставляет элемент, который уже был замещ ред последним элементом . Обратите внимание на с~ lastChild, которое возвращает ссылку на последний из дочерних же как firstChild возвращает ссылку на первый дочерний узел.
вход insertBefore() принимает два аргумента: узел, который вставля¬ли в документ, и узел, перед которым производится вставка. Этот ме-'ввя возвращает ссылку на вставленный узел, но в данном примере это «ветоятельство не представляет для нас интереса.
Квк вы уже могли убедиться, DOM представляет собой достаточно мощ-i интерфейс, позволяющий извлекать, удалять и добавлять данные.