Methode createElement
De methode createElement maakt het mogelijk
een nieuw element te creëren door de tag-naam als parameter mee te geven.
Na creatie kan met het element gewerkt worden
als een normaal element, en het kan ook
aan de pagina toegevoegd worden met de methoden prepend,
append,
appendChild,
insertBefore
of insertAdjacentElement.
Als het resultaat van createElement
in een variabele wordt opgeslagen, dan bevat die variabele
zo'n element, alsof we het hadden verkregen
via querySelector
of getElementById.
Het enige verschil - ons element zal niet
op de pagina geplaatst zijn. Verder kunnen we de
innerHTML ervan veranderen, attributen, event handlers toevoegen
en het uiteindelijk op de pagina plaatsen.
Syntaxis
document.createElement('tag naam');
Voorbeeld
Laten we een paragraaf creëren, er tekst in instellen
en deze aan het einde van het blok #parent plaatsen:
<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);
Resultaat van de code:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Voorbeeld
Gegeven een ul.
Laten we er 9 li tags in plaatsen,
en hun tekst de volgnummers maken:
<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);
}
Resultaat van de code:
<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>
Voorbeeld
Laten we bij het invoegen van elementen er event handlers aan binden:
<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);
};
:
Zie ook
-
methode
cloneNode,
waarmee een element gekloond kan worden -
methode
createTextNode,
waarmee een nieuwe tekstnode kan worden gecreëerd