JavaScript lesson 23: The web page: new elements, classes and style
UK version. UK school years and UK spelling. · US version of this lesson
document.createElement("li") makes a new element. It isn't on the page until you add it with list.appendChild(li), which puts it at the end. A complete 40-minute JavaScript lesson for beginners (Year 9, KS3), from Unit 9: The web page. It runs right here in your browser – nothing to install.
- Time
- 40 minutes + 20 min homework
- Year
- Year 9, KS3 (ages 13–14)
- You need
- A computer or tablet, paper and a pencil
- Marked
- Instantly, with explanations
For parents: how to use this lesson
You don't need to know JavaScript yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Each question shows a small web page and some code, and your child says what it does – marked straight away.
- Read what your child will learn together.
- Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
- Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
- Finish with the talk question: What would you change on a page with classes rather than with style?
Watch out for
- createElement puts the element on the page. Nothing shows until appendChild.
style.colourworks. Onlycoloris a real property.
Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.
What your child will learn
We are learning to make new elements and add them to the page.
Success looks like
- I can make new elements and add them to the page.
- I can add, remove and toggle classes.
- I can change a style – and spell
colorthe way code needs.
Key words
createElement · appendChild · classList · style · CSS
What to have ready
- A device with a web browser (the code runs in the browser – nothing to install)
- Paper for tracing
- A keyboard helps for typing code (a tablet or phone works too)
The big ideas (for the adult)
document.createElement("li") makes a new element. It isn't on the page until you add it with list.appendChild(li), which puts it at the end.
el.classList.add("big"), remove and toggle change an element's classes, which the page's CSS uses for its look. contains checks for one.
el.style.color = "red" changes the text colour. Code always uses the American spelling color: style.colour is just ignored – a classic UK trap!
Worked example – see it
// <h1 id="title">Top tips</h1>
// <p id="msg" class="note">Hello Ben</p>
// <ul id="list"><li>whale</li><li class="star">dog</li><li>fox</li></ul>
// <button id="go">Click me</button>
const li = document.createElement("li")
li.textContent = "cheese"
document.querySelector("#list").appendChild(li)
console.log(document.querySelectorAll("li").length)It prints:
4
The lesson, step by step
| Part | Time | How it is checked |
|---|---|---|
| Starter | 5 min | Marked by Classfern |
| Teaching input | 8 min | Read, watch and talk |
| See it, then predict | 8 min | Marked by Classfern |
| Predict, trace and check | 14 min | Marked by Classfern |
| Plenary and exit ticket | 5 min | Marked by Classfern + self-check |
The lesson
It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.
Homework
20 minutes: 5 questions – predict what page code does, spot what goes wrong, and check the key ideas – then a short reflection. New questions every time, all marked instantly.
Practice tests
Curriculum
National curriculum in England, computing, key stage 3: pupils should be taught to use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions.
Contains public sector information licensed under the Open Government Licence v3.0.
Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. JavaScript is a trademark or registered trademark of Oracle Corporation in the U.S. and other countries; Classfern is not affiliated with or endorsed by it.