Metoda createElement
Metoda createElement pozwala utworzyć
nowy element, przekazując w parametrze nazwę znacznika.
Po utworzeniu z elementem można pracować
jak ze zwykłym elementem, a także można go
dodać na stronę metodami prepend,
append,
appendChild,
insertBefore
lub insertAdjacentElement.
Jeśli zapiszemy wynik działania createElement
w zmiennej, to w tej zmiennej będzie
taki element, jakbyśmy otrzymali go
przez querySelector
lub getElementById.
Jedyna różnica - nasz element nie będzie
umieszczony na stronie. Poza tym możemy zmieniać
mu innerHTML, atrybuty, dodawać procedury obsługi
zdarzeń i w końcu umieścić go na
stronie.
Składnia
document.createElement('nazwa znacznika');
Przykład
Stwórzmy akapit, ustawmy mu tekst
i umieśćmy na stronie na końcu bloku #parent:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
let parent = document.querySelector('#parent');
let p = document.createElement('p');
p.textContent = '!';
parent.appendChild(p);
Wynik wykonania kodu:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Przykład
Dany jest ul.
Umieśćmy w nim 9 znaczników li,
przy czym ich tekstem uczyńmy numery porządkowe:
<ul id="parent"></ul>
let parent = document.querySelector('#parent');
for (let i = 1; i <= 9; i++) {
let li = document.createElement('li');
li.textContent = i;
parent.appendChild(li);
}
Wynik wykonania kodu:
<ul id="parent">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
Przykład
Przy wstawianiu elementów dodawajmy do nich procedury obsługi zdarzeń:
<ul id="parent"></ul>
let parent = document.querySelector('#parent');
for (let i = 1; i <= 9; i++) {
let li = document.createElement('li');
li.textContent = i;
li.addEventListener('click', function() {
alert(this.textContent);
});
parent.appendChild(li);
};
:
Zobacz też
-
metoda
cloneNode,
za pomocą której można sklonować element -
metoda
createTextNode,
za pomocą której można utworzyć nowy węzeł tekstowy