JavaScript метод Node.removeChild()
Определение и применение
JavaScript метод .removeChild() объекта
Node
позволяет удалить дочерний узел из дерева DOM.
Поддержка браузерами
Спецификация: dom.spec.whatwg
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
removeChild | 1 | 12 | 1 | 7 | 1.1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
Метод возвращает удалённый узел.
JavaScript синтаксис
// с сохранением ссылки на удаленный дочерний элемент
const oldChild = node.removeChild(child);
// без сохранения ссылки на удаленный дочерний элемент
node.removeChild(child);
Спецификация
Значения параметров
| Параметр | Описание |
|---|---|
child |
Дочерний узел, который будет удален из дерева DOM. Обязательный аргумент. |
Исключения
| Тип исключения | Описание |
|---|---|
NotFoundError |
Возникает, если переданный узел не является непосредственным дочерним узлом данного родителя. |
TypeError |
Возникает, если аргумент не является объектом Node, например передан null. |
Пример использования
Удаление и повторная вставка первого пункта
Нажмите , затем Delete first child несколько раз: первый пункт удаляется методом removeChild() и сразу добавляется в конец списка, поэтому пункты циклически сдвигаются.
index.html
<button data-migration-click-0="">Delete first child</button>
<ul id="first">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
main.js
const firstUl = document.getElementById('first')
function myFunc() {
const oldChild = firstUl.removeChild(firstUl.firstElementChild) // первый дочерний элемент списка
firstUl.appendChild(oldChild)
}
// Обработчики кнопок перенесены из HTML для запуска с CSP без inline-скриптов.
document.querySelector('[data-migration-click-0]').addEventListener('click', function () {
myFunc()
})
document.querySelector('[data-migration-click-0]').removeAttribute('data-migration-click-0')
Нажмите , чтобы запустить пример.
В этом примере с использованием метода
addEventListener()
при нажатии на кнопку (HTML элемент
<button>) вызываем функцию myFunc(), которая с помощью метода .removeChild() удаляет первый
дочерний элемент (свойство firstElementChild) внутри элемента
<ul>
и сохраняет ссылку на него в переменной.
После этого с помощью метода
appendChild()
мы добавляем удаленный узел в конец списка дочерних элементов указанного родительского узла (элемент
<ul>).