Metoda createElement
Metoda createElement umožňuje vytvořit
nový element předáním názvu tagu jako parametru.
Po vytvoření lze s elementem pracovat
jako s běžným elementem a také jej lze
přidat na stránku metodami prepend,
append,
appendChild,
insertBefore
nebo insertAdjacentElement.
Pokud výsledek volání createElement
uložíme do proměnné, bude v této proměnné
element, jako bychom jej získali
pomocí querySelector
nebo getElementById.
Jediný rozdíl je v tom, že náš element nebude
umístěn na stránce. Jinak mu můžeme měnit
innerHTML, atributy, přidávat obsluhy událostí
a nakonec jej umístit na stránku.
Syntaxe
document.createElement('název tagu');
Příklad
Vytvořme odstavec, nastavme mu text
a umístěme jej na konec 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);
Výsledek provedení kódu:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Příklad
Je dán ul.
Umístěme do něj 9 tagů li,
přičemž jejich textem budou pořadová čísla:
<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);
}
Výsledek provedení kódu:
<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>
Příklad
Při vkládání elementů k nim připojme obsluhy událostí:
<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);
};
:
Viz také
-
metoda
cloneNode,
pomocí které lze klonovat element -
metoda
createTextNode,
pomocí které lze vytvořit nový textový uzel