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

javascriptdocument.createElement('název tagu');

Příklad

Vytvořme odstavec, nastavme mu text a umístěme jej na konec bloku #parent:

html<div id="parent">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
javascriptlet parent = document.querySelector('#parent');

let p = document.createElement('p');
p.textContent = '!';

parent.appendChild(p);

Výsledek provedení kódu:

html<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:

html<ul id="parent"></ul>
javascriptlet 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:

html<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í:

html<ul id="parent"></ul>
javascriptlet 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