A createElement metódus
A createElement metódus lehetővé teszi
egy új elem létrehozását a tag nevének paraméterben történő átadásával.
A létrehozás után az elemmel a szokásos módon dolgozhatunk,
és oldalra is helyezhetjük a prepend,
append,
appendChild,
insertBefore
vagy insertAdjacentElement
metódusok segítségével.
Ha a createElement metódus eredményét egy változóba mentjük,
akkor ez a változó olyan elemet fog tartalmazni, mintha a
querySelector
vagy getElementById
metódusokkal kaptuk volna meg.
Az egyetlen különbség - az elemünk nem lesz
elhelyezve az oldalon. De módosíthatjuk az
innerHTML tulajdonságát, attribútumait, felhelyezhetünk rá eseménykezelőket,
és végül elhelyezhetjük az oldalon.
Szintaxis
document.createElement('tag neve');
Példa
Hozzunk létre egy bekezdést, állítsuk be a szövegét
és helyezzük az oldalra a #parent blokk végére:
<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);
A kód végrehajtásának eredménye:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Példa
Adott egy ul.
Helyezzünk el benne 9 db li tag-et,
és a szövegüket tegyük egyenlővé a sorszámukkal:
<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);
}
A kód végrehajtásának eredménye:
<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>
Példa
Helyezzünk fel eseménykezelőket az elemek beszúrásakor:
<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);
};
:
Lásd még
-
a
cloneNodemetódus,
amellyel egy elem klónozható -
a
createTextNodemetódus,
amellyel egy új szöveges csomópont hozható létre