Difference between revisions of "DOM Creating content"
Jump to navigation
Jump to search
Line 53: | Line 53: | ||
c.src = '/flags/fr.png'; | c.src = '/flags/fr.png'; | ||
c.style = 'width:100px'; | c.style = 'width:100px'; | ||
</pre> | |||
<pre class='ans'> | |||
let a = document.createElement('div'); | |||
a.innerHTML = 'Germany, '; | |||
let b = document.createElement('i'); | |||
b.innerHTML = 'Berlin'; | |||
a.appendChild(b); | |||
document.body.appendChild(a); | |||
let c = document.createElement('img'); | |||
c.src = '/flags/de.png'; | |||
c.style = 'width:100px'; | |||
document.body.appendChild(c); | |||
</pre> | |||
</div> | |||
==Setting complex innerHTML== | |||
<div class='qu'> | |||
You can put more complex HTML into an element. | |||
The backticks ` ` can span many lines. | |||
<pre class='usr'> | |||
let a = document.createElement('div'); | |||
a.innerHTML = `<img src='/flags/gr.png' style='height:1ex'> Greece <i>Athens</i>`; | |||
document.body.appendChild(a); | |||
let b = document.createElement('div'); | |||
b.innerHTML = `<img src='/flags/it.png' style='height:1ex'> Italy <i>Rome</i>`; | |||
document.body.appendChild(b); | |||
</pre> | </pre> | ||
<pre class='ans'> | <pre class='ans'> |
Revision as of 22:27, 10 August 2021
Create Content
You can create a div element an set the content.
We use the document method createElement and the DOM node method appendChild
let e = document.createElement('div'); e.innerHTML = 'Hello'; document.body.appendChild(e);
let e = document.createElement('div'); e.innerHTML = 'Hello world'; document.body.appendChild(e);
Create img
You can create a img element an set the src. In this example you must set the src and the style of the new element a.
a.style = 'width:100px;border:solid;';
These are CSS properties.
let a = document.createElement('img'); a.src = '/flags/fr.png'; document.body.appendChild(a);
let a = document.createElement('img'); a.src = '/flags/fr.png'; a.style = 'width:100px;border:solid;'; document.body.appendChild(a);
Create multiple elements
- You can add several elements to the document.body.
- You can add elements to other elements.
- Change this code to match the model answer
- Can you see why the flag does not show?
let a = document.createElement('div'); a.innerHTML = 'France, '; let b = document.createElement('i'); b.innerHTML = 'Paris'; a.appendChild(b); document.body.appendChild(a); let c = document.createElement('img'); c.src = '/flags/fr.png'; c.style = 'width:100px';
let a = document.createElement('div'); a.innerHTML = 'Germany, '; let b = document.createElement('i'); b.innerHTML = 'Berlin'; a.appendChild(b); document.body.appendChild(a); let c = document.createElement('img'); c.src = '/flags/de.png'; c.style = 'width:100px'; document.body.appendChild(c);
Setting complex innerHTML
You can put more complex HTML into an element. The backticks ` ` can span many lines.
let a = document.createElement('div'); a.innerHTML = `<img src='/flags/gr.png' style='height:1ex'> Greece <i>Athens</i>`; document.body.appendChild(a); let b = document.createElement('div'); b.innerHTML = `<img src='/flags/it.png' style='height:1ex'> Italy <i>Rome</i>`; document.body.appendChild(b);
let a = document.createElement('div'); a.innerHTML = 'Germany, '; let b = document.createElement('i'); b.innerHTML = 'Berlin'; a.appendChild(b); document.body.appendChild(a); let c = document.createElement('img'); c.src = '/flags/de.png'; c.style = 'width:100px'; document.body.appendChild(c);