Метод createElement

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

Если записать результат работы createElement в переменную, то в этой переменной будет такой элемент, как будто бы мы получили его через querySelector или getElementById.

Единственное отличие - наш элемент не будет размещен на странице. А так мы можем менять ему innerHTML, атрибуты, навешивать обработчики событий и в конце концов разместить его на странице.

Синтаксис

document.createElement('имя тега')

Пример

Давайте создадим абзац, установим ему текст и поместим на страницу в конец блока #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.innerHTML = '!'; parent.appendChild(p);

Результат выполнения кода:

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

Пример

Дан ul. Давайте разместим в нем 9 тегов li, при этом их текстом сделаем порядковые номера:

<ul id="parent"></ul> let parent = document.querySelector('#parent'); for (let i = 1; i <= 9; i++) { let li = document.createElement('li'); li.innerHTML = i; parent.appendChild(li); }

Результат выполнения кода:

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

Пример

Давайте при вставке элементов будем привязывать к ним обработчики событий:

<ul id="parent"></ul> let parent = document.querySelector('#parent'); for (let i = 1; i <= 9; i++) { let li = document.createElement('li'); li.innerHTML = i; li.addEventListener('click', function() { alert(this.innerHTML); }); parent.appendChild(li); }

:

Смотрите также

  • метод cloneNode,
    с помощью которого можно клонировать элемент