Метад createElement
Метад createElement
дазваляе стварыць
новы элемент, перадаўшы ў параметры імя тэга.
Пасля стварэння з элементам можна працаваць
як з звычайным элементам, а таксама яго можна
дадаць на старонку метадамі prepend
,
append
,
appendChild
,
insertBefore
ці insertAdjacentElement
.
Калі запісаць вынік працы createElement
ў зменную, то ў гэтай зменнай будзе
такi элемент, як быццам бы мы атрымалі яго
праз querySelector
ці getElementById
.
Адзiнае адрозненне - наш элемент не будзе
размешчаны на старонцы. А так мы можам мяняць
яму innerHTML, атрыбуты, навязваць апрацоўшчыкі
падзей і ў рэшце рэшт размесцiць яго на
старонцы.
Сiнтаксiс
document.createElement('iмя тэга');
Прыклад
Давайце стварым абзац, усталюем яму тэкст
i змясцiм на старонку ў канец блока #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);
Вынік выканання кода:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Прыклад
Дадзены ul
.
Давайце размесцiм у iм 9
тэгаў li
,
пры гэтым iх тэкстам зробім парадкавыя нумары:
<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);
}
Вынік выканання кода:
<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>
Прыклад
Давайце пры ўстаўцы элементаў будзем прывязваць да iх апрацоўшчыкі падзей:
<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);
};
:
Глядзiце таксама
-
метод
cloneNode
,
з дапамогай якога можна кланіраваць элемент -
метод
createTextNode
,
з дапамогай якога можна стварыць новы тэкставы вузел