Последние учебники веб-разработки
×

JS Руководство

JS ГЛАВНАЯ JS Введение JS Куда JS Вывод JS Синтаксис JS Заявления JS Комментарии JS переменные JS операторы JS арифметика JS присваивание JS Типы данных JS функции JS Объекты JS Объем JS Мероприятия JS Строки JS Методы струнных JS чисел JS Методы Number JS математический JS Даты JS Форматы даты JS Методы Дата JS Массивы JS Методы массивов JS Booleans JS Сравнения JS условия JS переключатель JS петля For JS В то время как Loop JS Ломать JS Тип преобразования JS RegExp JS ошибки JS отладка JS Подъемно JS Строгий режим JS Гид по стилю JS Лучшие практики JS Ошибки JS Представление JS Зарезервированные слова JS JSON

JS формы

Формы проверки Формы API

JS объект

Определения объектов Свойства объекта Методы объекта Прототипы объектов

JS функции

Определения функций Функциональные параметры Функция Призвание Функция Затворы

JS HTML DOM

DOM вступление DOM методы DOM Документ DOM элементы DOM HTML DOM CSS DOM Анимации DOM Мероприятия DOM EventListener DOM навигация DOM Вершины DOM Nodelist

JS браузер BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Примеры

JS Примеры JS HTML DOM JS HTML вход JS HTML Объекты JS HTML Мероприятия JS браузер JS викторина JS Резюме

JS Рекомендации

JavaScript Объекты HTML DOM Объекты


 

JavaScript HTML DOM элементы (узлы)


Добавление и удаление узлов (HTML Elements)


Создание нового HTML-элементов (узлов)

Чтобы добавить новый элемент в HTML DOM, вы должны создать элемент (элемент узла), а затем добавить его к существующему элементу.

пример

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var element = document.getElementById("div1");
element.appendChild(para);
</script>
Попробуй сам "

Пример Разъяснения

Этот код создает новый <p> элемент:

var para = document.createElement("p");

Чтобы добавить текст в <p> элемента, вы должны создать текстовый узел в первую очередь. Этот код создает текстовый узел:

var node = document.createTextNode("This is a new paragraph.");

Затем необходимо добавить текстовый узел к <p> элемента:

para.appendChild(node);

Наконец, вы должны добавить новый элемент к существующему элементу.

Этот код находит существующий элемент:

var element = document.getElementById("div1");

Этот код добавляет новый элемент к существующему элементу:

element.appendChild(para);

Создание новых HTML - элементов - insertBefore()

appendChild() метод в предыдущем примере, добавляется новый элемент в качестве последнего ребенка родителя.

Если вы не хотите , что вы можете использовать insertBefore() метод:

пример

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var element = document.getElementById("div1");
var child = document.getElementById("p1");
element.insertBefore(para,child);
</script>
Попробуй сам "

Удаление существующих HTML-элементов

Чтобы удалить HTML-элемент, вы должны знать, родительский элемент:

пример

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent = document.getElementById("div1");
var child = document.getElementById("p1");
parent.removeChild(child);
</script>
Попробуй сам "

Метод node.remove() реализован в спецификации DOM - 4.
Но из-за плохой поддержки браузера, вы не должны использовать его.


Пример Разъяснения

Этот HTML - документ содержит <div> элемент с двумя дочерними узлами (два <p> элементов):

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

Найти элемент с id="div1" :

var parent = document.getElementById("div1");

Найти элемент <p> с id="p1" :

var child = document.getElementById("p1");

Удалите ребенка от родителя:

parent.removeChild(child);

Было бы неплохо иметь возможность удалить элемент, не обращаясь к родителю.
Но извините. DOM должен знать, как элемент, который вы хотите удалить, и его родителей.

Вот общий обходной путь: найти ребенка, который вы хотите удалить, и использовать его свойство ParentNode найти родителя:

var child = document.getElementById("p1");
child.parentNode.removeChild(child);

Замена элементов HTML

Чтобы заменить элемент в HTML DOM, используйте replaceChild() метод:

пример

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var parent = document.getElementById("div1");
var child = document.getElementById("p1");
parent.replaceChild(para,child);
</script>
Попробуй сам "