Najnowsze tutoriale tworzenie stron internetowych
 

JavaScript Elementy HTML DOM (węzłów)


Dodawanie i usuwanie węzłów (elementy HTML)


Tworzenie nowych elementów HTML (węzły)

Aby dodać nowy element do DOM HTML, należy utworzyć element (węzeł element), a potem dołączyć go do istniejącego elementu.

Przykład

<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>
Spróbuj sam "

Przykład Poradnik

Kod ten tworzy nowy <p> elementu:

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

Aby dodać tekst do <p> elementu, należy najpierw utworzyć węzeł tekstowy. Kod ten tworzy węzeł tekstowy:

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

Następnie należy dołączyć węzeł tekstowy do <p> element:

para.appendChild(node);

Wreszcie należy dołączyć nowy element do istniejącego elementu.

Kod ten znajdzie istniejący element:

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

Ten kod dodaje nowy element do istniejącego elementu:

element.appendChild(para);

Tworzenie nowych elementów HTML - insertBefore()

appendChild() metoda, w poprzednim przykładzie, przyłączony nowy wkład, jak w poprzednim rodzic dziecka.

Jeśli użytkownik nie chce, że można użyć insertBefore() metodę:

Przykład

<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>
Spróbuj sam "

Usunięcie istniejących elementów HTML

Aby usunąć element HTML, trzeba wiedzieć nadrzędny element:

Przykład

<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>
Spróbuj sam "

Metoda node.remove() realizowany jest w opisie DOM 4.
Ale ze względu na słabe wsparcie przeglądarki, nie należy go używać.


Przykład Poradnik

Niniejszy dokument HTML zawiera <div> element z dwóch węzłów podrzędnych (dwa <p> grupy):

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

Znajdź element o id="div1" :

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

Znajdź element <p> id="p1" :

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

Usunąć dziecko od rodzica:

parent.removeChild(child);

Byłoby miło, aby móc usunąć element bez odwoływania się do rodzica.
Ale przykro. DOM musi wiedzieć, zarówno element, który chcesz usunąć, a jego rodzica.

Tutaj jest częstym obejście: Znajdź dziecku, które chcesz usunąć, i użyć jej właściwość parentNode znaleźć rodzica:

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

Wymiana elementów HTML

Aby wymienić element do DOM HTML, należy użyć replaceChild() metodę:

Przykład

<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>
Spróbuj sam "