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

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

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

См. также методы appendChild и insertBefore, с помощью которых можно добавлять созданные элементы на страницу.

Синтаксис

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

Примеры

Пример

Давайте создадим абзац, установим ему текст и поместим на страницу в блок #parent:

<div id="parent"></div>
var parent = document.getElementById('parent');

var p = document.createElement('p');
p.innerHTML = 'Содержимое абзаца';

parent.appendChild(p);

HTML код элемента станет выглядеть так:

<div id="parent">
	<p>Содержимое абзаца</p>
</div>

Пример

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

<ul id="parent"></ul>
var parent = document.getElementById('parent');

for (var i = 1; i <= 10; i++) {
	var li = document.createElement('li');
	li.innerHTML = 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>
	<li>10</li>
</ul>

Пример

Давайте заполним таблицу tr-ками и td-шками:

<table id="table"></table>
var table = document.getElementById('table');

for (var i = 1; i <= 3; i++) {
	var tr = document.createElement('tr'); //создаем tr-ку

	//Заполняем tr-ку td-шками:
	for (var j = 1; j <= 3; j++) {
		var td = document.createElement('td'); //создаем td-шку
		td.innerHTML = j; //пишем в нее текст

		tr.appendChild(td); //добавляем созданную td-шку в конец tr-ки
	}

	table.appendChild(tr); //добавляем созданную tr-ку в конец таблицы
}

HTML код элемента станет выглядеть так:

<table id="table">
	<tr>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</tr>
	<tr>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</tr>
	<tr>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</tr>
</table>