Método createElement
O método createElement permite criar
um novo elemento passando o nome da tag como parâmetro.
Após a criação, é possível trabalhar com o elemento
como um elemento normal, e também é possível
adicioná-lo à página com os métodos prepend,
append,
appendChild,
insertBefore
ou insertAdjacentElement.
Se o resultado do createElement for armazenado
em uma variável, essa variável conterá
um elemento como se tivéssemos obtido ele
através do querySelector
ou do getElementById.
A única diferença - nosso elemento não estará
posicionado na página. Fora isso, podemos alterar
seu innerHTML, atributos, adicionar event listeners
e finalmente posicioná-lo na página.
Sintaxe
document.createElement('nome da tag');
Exemplo
Vamos criar um parágrafo, definir seu texto
e colocá-lo na página no final do bloco #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);
Resultado da execução do código:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Exemplo
Dado um ul.
Vamos colocar nele 9 tags li,
sendo que seus textos serão os números ordinais:
<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);
}
Resultado da execução do código:
<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>
Exemplo
Vamos adicionar event listeners aos elementos durante a inserção:
<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);
};
:
Veja também
-
método
cloneNode,
que pode ser usado para clonar um elemento -
método
createTextNode,
que pode ser usado para criar um novo nó de texto