Метад createElement

Метад createElement дазваляе стварыць новы элемент, перадаўшы ў параметры імя тэга. Пасля стварэння з элементам можна працаваць як з звычайным элементам, а таксама яго можна дадаць на старонку метадамі prepend, append, appendChild, insertBefore ці insertAdjacentElement.

Калі запісаць вынік працы createElement ў зменную, то ў гэтай зменнай будзе такi элемент, як быццам бы мы атрымалі яго праз querySelector ці getElementById. Адзiнае адрозненне - наш элемент не будзе размешчаны на старонцы. А так мы можам мяняць яму innerHTML, атрыбуты, навязваць апрацоўшчыкі падзей і ў рэшце рэшт размесцiць яго на старонцы.

Сiнтаксiс

javascriptdocument.createElement('iмя тэга');

Прыклад

Давайце стварым абзац, усталюем яму тэкст i змясцiм на старонку ў канец блока #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);

Вынік выканання кода:

html<div id="parent">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>!</p>
</div>

Прыклад

Дадзены ul. Давайце размесцiм у iм 9 тэгаў li, пры гэтым iх тэкстам зробім парадкавыя нумары:

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);
}

Вынік выканання кода:

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>

Прыклад

Давайце пры ўстаўцы элементаў будзем прывязваць да iх апрацоўшчыкі падзей:

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);
};

Результат:

Глядзiце таксама

  • метад cloneNode,
    з дапамогай якога можна кланіраваць элемент
  • метад createTextNode,
    з дапамогай якога можна стварыць новы тэкставы вузел