IDL
interface mixin ChildNode { [CEReactions, Unscopable] undefined before((Node or DOMString)... nodes); [CEReactions, Unscopable] undefined after((Node or DOMString)... nodes); [CEReactions, Unscopable] undefined replaceWith((Node or DOMString)... nodes); [CEReactions, Unscopable] undefined remove(); }; DocumentType includes ChildNode; Element includes ChildNode; CharacterData includes ChildNode;
Для веб-разработчиков (не нормативно)
node . before(…nodes)
Вставляет узлы nodes непосредственно перед узлом node, заменяя строки в узлах nodes эквивалентными текстовыми узлами Text.
Выбрасывает исключение DOMException «HierarchyRequestError«, если нарушаются ограничения дерева узлов.
node . after(…nodes)
Вставляет узлы nodes сразу после узла node, заменяя строки в узлах nodes эквивалентными текстовыми узлами Text.
Выбрасывает исключение DOMException «HierarchyRequestError«, если нарушаются ограничения дерева узлов.
node . replaceWith(…nodes)
Заменяет узел node узлами nodes, заменяя строки в узлах nodes эквивалентными текстовыми узлами Text.
Выбрасывает исключение DOMException «HierarchyRequestError«, если нарушаются ограничения дерева узлов.
node . remove()
Удаляет узел node.
При вызове метода before(nodes) необходимо выполнить следующие шаги:
1. Пусть родитель parent будет родителем этого this. 2. Если parent имеет значение null, вернитесь. 3. Пусть viablePreviousSibling будет первым предшествующим родственником этого this не в узлах nodes, в противном случае - null. 4. Пусть узел node будет результатом преобразования узлов в узел, учитывая узлы nodes и документ узла этого this. 5. Если viablePreviousSibling имеет значение null, установите для него значение первого ребёнка родителя parent, а в противном случае - значение следующего родственника viablePreviousSibling. 6. Предварительно вставьте узел node в родителя parent перед viablePreviousSibling.
При вызове метода after(nodes) необходимо выполнить следующие шаги:
1. Пусть родитель parent будет родителем этого this. 2. Если parent имеет значение null, вернитесь. 3. Пусть viableNextSibling будет первым следующим родственником этого this, не находящимся в узлах nodes, в противном случае - null. 4. Пусть узел node будет результатом преобразования узлов в узел, учитывая узлы nodes и документ узла этого this. 5. Предварительно вставьте узел node в родителя parent перед viableNextSibling.
При вызове метода replaceWith(nodes) необходимо выполнить следующие шаги:
1. Пусть родитель parent будет родителем этого this. 2. Если parent имеет значение null, вернитесь. 3. Пусть viableNextSibling будет первым следующим родственником этого this, не находящимся в узлах nodes, в противном случае - null. 4. Пусть узел node будет результатом преобразования узлов в узел, учитывая узлы nodes и документ узла этого this. 5. Если родитель этого this является parent, замените this на узел node в родителе parent. Примечание! Этот this может быть вставлен в узел node. 6. В противном случае предварительно вставьте узел node в родителя parent перед viableNextSibling.
При вызове метода remove() необходимо выполнить следующие действия:
1. Если родитель этого this имеет значение null, вернитесь. 2. Удалите этот this.
Ссылки
DOM стандарт — https://efim360.ru/dom/
Читайте перевод полной версии стандарта «объектной модели документа», чтобы ознакомиться со всеми концепциями и интерфейсами.
DOM — Living Standard — https://dom.spec.whatwg.org
Читайте официальную документацию живого стандарта «объектной модели документа», чтобы быть в курсе последних изменений.