Вставка замість існуючого:
innerHTML - вставити код в середину блока замість існуючого там
textContent - вставити текст в середину блока замість існуючого там
Вставка до існуючого:
node.before(nodes or strings) – додає попередньо згенеровані вузли або рядки перед node
node.prepend(nodes or strings) – додає попередньо згенеровані вузли або рядки перед існуючим в node
node.append(nodes or strings) – попередньо згенеровані вузли або рядки в кінець node(вузла)
node.after(nodes or strings) – додає попередньо згенеровані вузли або рядки після node
insertAdjacentHTML - вставляе HTML-код в залежності від параметрів ('beforebegin', 'afterbegin', 'beforeend', 'afterend')
Створення та клонування вузлів:
document.createElement(node) - створює вузол
elem.cloneNode(true/false) - клонує вузол (якщо true, то разом з вмістом, якщо false, то тільки сам блок)
Видалення:
node.remove() - видаляє вузол
Заміна:
node.replaceWith(nodes or strings) - замiнює node заданими вузлами або рядками
Застарілі методи:
insertBefore - вставити елемент в блок перед тим, що там є
appendChild - додає новий елемент після існуючих там
parentElem.replaceChild(node, oldChild) - замінює oldChild на node серед дочірних елементів parentElem
parentElem.removeChild(node) - видаляє node з батьківського елементу parentElem
Приклади
innerHTML - вставити код в середину блокаВставляємо блок в середину, існуючий там контент видаляється
btn1.onclick = function (){
block1.innerHTML="новий";
};textContent - вставити текст в середину блока замість існуючого там
Вставка кода неможлива, теги замінюються на спецсимволи
btn2.onclick = function (){
block2.textContent="новий текст";
};document.createElement(node) - створює вузол
Створюємо вузол і вставляємо його в елемент
btn_2.onclick = function (){
var ce = document.createElement('div');
// вставити вузол в блок після інших елементів
block3.append(ce);
};elem.cloneNode(true/false) - клонує вузол, якщо true, то разом з вмістом, якщо false, то тільки сам блок
Клонуємо вузол разом зі span, що всередині і вставляємо його в елемент
<div class="fc"><span>.fc</span></div>
btn4.onclick = function (){
// вибираємо блок
let cv = document.querySelector('.fc');
// отримуємо клон, якщо вказати false, то вміст блока не клонується
let ncv = cv.cloneNode(true);
// вставляємо клон після інших елементів
block4.append(ncv);
};node.before(strings) – додає попередньо згенеровані вузли або рядки перед node
node.prepend(nodes or strings) – додає попередньо згенеровані вузли або рядки перед існуючим в node
node.append(nodes or strings) – додає попередньо згенеровані вузли або рядки в кінець node(вузла)
node.after(nodes or strings) – додає додає попередньо згенеровані вузли або рядки після node

- 1
- 2
- 3
ol.before('текст перед');
let liFirst = document.createElement('li');
liFirst.innerHTML = 'prepend';
ol.prepend(liFirst);
let liLast = document.createElement('li');
liLast.innerHTML = 'append';
ol.append(liLast);
// спецсимволи
ol.after('<span>текст після</span>');
insertAdjacentHTML - вставляє HTML-код в залежності від параметрів
Перший параметр:
"beforebegin" – вставить html-код безпосередньо перед елементом
"afterbegin" – вставить html-код в середину елементу на початок
"beforeend" – вставить html-код в середину елементу в самий кінець
"afterend" – вставить html-код безпосередньо перед елементом
Другий параметр - це HTML-код, який вставиться саме, як код
- 1
- 2
- 3
ol2.insertAdjacentHTML('beforebegin', 'beforebegin
');
ol2.insertAdjacentHTML('afterbegin', 'afterend
');node.remove() - видаляє вузол
in_block.onclick =function(){
this.remove();
}node.replaceWith(nodes or strings) - замінює блок вузлом або текстом
block5.onclick =function(){
var new_d = document.createElement("div");
this.replaceWith(new_d);
}⛔
Застарілі методи
insertBefore - вставити елемент в блок перед тим, що там є
btn2.onclick = function (){
// створюємо новий <div>
var new_div = document.createElement("div");
// записуємо в нього текст
new_div.innerHTML = "new_div";
// отримуємо елемент, перед яким будемо вставляти div
var old_div = document.getElementById("childElement");
// отримуємо батьківський елемент
var parentDiv = old_div.parentNode;
// вставити в батьківський div
parentDiv.insertBefore(new_div, old_div);
}
appendChild - вставити елемент в блок після того, що там є
btn3.onclick = function (){
// створюємо новий <div>
var new_div = document.createElement("div");
// записуємо в нього текст
new_div.innerHTML = "new_div";
// отримуємо елемент, перед яким будемо вставляти div
var old_div = document.getElementById("childElement1");
// отримуємо батьківський елемент
var parentDiv = old_div.parentNode;
// вставити в батьківський div
parentDiv.appendChild(new_div, old_div);
}
parentElem.replaceChild(node, oldChild) - замінює oldChild на node серед дочірних елементів parentElem
Маємо елементи:
<ol id="ol3"> <li>0</li> <li>1</li> <li>2</li> </ol>
// створюємо новий елемент
let newLi = document.createElement('li');
// записуємо в нього текст
newLi.innerHTML = 'Заміна';
// отримуємо набір існуючих (старих) елементів
let oldChild = document.querySelectorAll('#ol3 li');
// замінюємо старий елемент з індексом 1 на новий елемент
ol3.replaceChild(newLi, oldChild[1]);
Результат:
- 0
- 1
- 2
parentElem.removeChild(node) - видаляє node з батьківського елементу parentElem
Маємо елементи:
<ol id="ol4"> <li>0</li> <li>1</li> <li>2</li> </ol>
Видаляємо перший:
let li = ol4.firstElementChild; ol4.removeChild(li);
- 0
- 1
- 2
далі ✏