Now we will learn how to create new DOM elements
through JavaScript, and then add them to the page.
The createElement
method is designed for this
aim. Name of the tag to be created should be passed
as the parameter of this method.
If we write the result of createElement
into
a variable, then this variable will contain such an
element as if we got it through querySelector
.
The only difference is that our element will not be placed on the page. And so we can change its text, attributes, hang event handlers and eventually place it on the page.
The appendChild
method is used to place a new
element on the page. This method should be applied
to the element in which we want to place our
element. And our new element created earlier through
createElement
should be passed as the
method parameter.
Let's look at a practical example. Suppose we have a div and a few paragraphs in it:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
Let's create a paragraph, set the text for it and
place it on the page at the end of the
#parent
block:
let parent = document.querySelector('#parent');
let p = document.createElement('p');
p.textContent = '!';
parent.appendChild(p);
Result of code execution:
<div id="parent">
<p>1</p>
<p>2</p>
<p>3</p>
<p>!</p>
</div>
Given an ol
:
<ol id="elem"></ol>
Insert a li
at the end of it
with the text 'item'
.
Given an ol
and a button:
<ol id="elem"></ol>
<button id="button">click me</button>
Make it so that when you click on the button, a
li
is added to the end of the list with
the text 'item'
.