Learn The DOM Interactively

By @alesanchezr and other contributors at 4Geeks Academy

last commit build by developers build by developers

This tutorial is part of a bigger group of tutorials about web development, this repository focuses only on The DOM.

Estas instrucciones están disponibles en 🇪🇸 español 🇪🇸

You will learn the following concepts:

  1. How to select elements from your website.

  2. Manipulate them with JavaScript (change styles, add event listeners).

  3. Remove elements programmatically.

  4. Change your entire website without a refresh.

I strongly recommend doing the tutorials in this order:

  1. Introduction to HTML
  2. Introduction to CSS
  3. Introduction to JavaScript
  4. Introduction to The DOM ← You are here now 🔥
  5. Using events & The DOM
  6. Object Oriented Programming

One click installation (recommended):

You can open these exercises in just a few seconds by clicking: Open in Codespaces (recommended) or Open in Gitpod.

Once you have VSCode open, the LearnPack exercises should start automatically. If exercises don't run automatically, you can try typing on your terminal: $ learnpack start

Local Installation

Clone the repository in your local environment and follow the steps below:

  1. Make sure you have learnpack, node.js version v14+, and jest v27 installed. This is the command to install the learnpack-cli and jest:
$ npm i @learnpack/learnpack@2.1.20 jest@27.0.6 -g
  1. Clone or download this repository. Once you finish downloading, you will find a new folder with a subdirectory "exercises" that contains all the exercises within.

  2. Install the learnpack plugin to test and compile vanillajs:

$ learnpack plugins:install learnpack-dom
  1. Start the tutorial/exercises by running the following command from the root of the project:
$ learnpack start

How are the exercises organized?

Each exercise is a small vanillajs website containing the following files:

  1. index.js: represents the entry JavaScript file that will be executed when the website loads.
  2. index.html: represents the HTML entry for the website.
  3. style.css: your website styles, they have to be imported from the index.html
  4. README.md: contains exercise instructions.
  5. test.js: you don't have to open this file, it contains the testing script for the exercise.

Note: The exercises have automatic grading, but it's very rigid and strict, my recommendation is to not take the tests too serious and use them only as a suggestion, or you may get frustrated.

Contributors

Thanks goes to these wonderful people (emoji key):

  1. Alejandro Sanchez (alesanchezr), contribution: (coder) 💻, (idea) 🤔, (build-tests) ⚠️, (pull-request-review) 🤓, (build-tutorial) ✅, (documentation) 📖

  2. Paolo (plucodev), contribution: (bug reports) 🐛, (coder) 💻, (translation) 🌎

This project follows the all-contributors specification. Contributions of any kind are welcome!

This and many other exercises are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sánchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.