Metóda createElement
Metóda createElement umožňuje vytvoriť
nový element odovzdaním názvu tagu ako parameter.
Po vytvorení s ním možno pracovať
ako s obyčajným elementom a tiež ho možno
pridať na stránku metódami prepend,
append,
appendChild,
insertBefore
alebo insertAdjacentElement.
Ak sa výsledok práce createElement
zapíše do premennej, potom v tejto premennej bude
taký element, akoby sme ho získali
cez querySelector
alebo getElementById.
Jediný rozdiel - náš element nebude
umiestnený na stránke. Inak mu môžeme meniť
innerHTML, atribúty, pridávať mu obslužné metódy
udalostí a nakoniec ho umiestniť na
stránku.
Syntax
document.createElement('názov tagu');
Príklad
Vytvorme odsek, nastavme mu text
a umiestnime ho na stránku na koniec 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ýsledok vykonania kódu:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Príklad
Daný je ul.
Umiestnime do neho 9 tagov li,
pričom ich textom urobme poradové čí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ýsledok vykonania 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>
Príklad
Pri vkladaní elementov im pridajme obslužné metódy udalostí:
<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);
};
:
Pozri tiež
-
metóda
cloneNode,
pomocou ktorej možno klonovať element -
metóda
createTextNode,
pomocou ktorej možno vytvoriť nový textový uzol