DOM Manipulation

Can you really manipulate The DOM though?

Dom Toretto

Yea I didn't think so... Thankfully we're not talking about that Dom.

Today we're going to be practicing DOM manipulation and event handling.

Learning Objectives

  • DOM Manipulation
  • Event Handling

Resources

This DOM Gist has a helpful section on DOM querying and creation

Setup

You're provided a basic website with included index.html, style.css, and script.js. All of your work will go in script.js - you shouldn't have to edit index.html or style.css.

There are empty functions for each part. Don't forget to call the function to test its utility.

Completion

Give it your best shot!

Accessing DOM Elements (Querying)

Let's start with some simple query selecting.

Part 1

DOM's personal website title is a bit wordy. Write a JavaScript statement that selects the #main-title ID element. Change the text of the title to something shorter.

Part 2

Select the body and change the background-color to a new color of your choice.

Part 3

Select DOM's Favorite Things list and remove the last list item.

Part 4

Select all .special-title class elements and change their font-size to 2rem. Remember you might have to iterate through the list of elements

Part 5

Turns out DOM never raced in Chicago. Access the Past Races list and remove Chicago.

Creating New DOM Elements

Part 6

Let's add to DOM's Past Races list. Create a new <li> element, change the new <li> text to the name of a city, and append it to the Past Races list.

Part 7

Create a new .blog-post corresponding to the new city added in Part 6. You will have to create a new <div> with class of .blog-post, a new <h2> with text, and a new <p> with some text. Think about what order you want to create the elements, and what order you want to append them in.