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
javascriptdocument.createElement('tag naam');
Voorbeeld
Laten we een paragraaf creëren, er tekst in instellen
en deze aan het einde van het blok #parent plaatsen:
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);
Resultaat van de code:
html<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:
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);
}
Resultaat van de code:
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>
Voorbeeld
Laten we bij het invoegen van elementen er event handlers aan binden:
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);
};
Результат:
Zie ook
-
methode
cloneNode,
waarmee een element gekloond kan worden -
methode
createTextNode,
waarmee een nieuwe tekstnode kan worden gecreëerd