Flash cards
Review the key moves
What is the main idea behind Selecting DOM Elements?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ element = document.getElementById("intro");Put the learning moves in the order that makes the concept easiest to apply.
Finding HTML Elements
Often, with JavaScript, you want to manipulate HTML elements.
To do so, you have to find the elements first. There are several ways to do this:
- Finding HTML elements by id
- Finding HTML elements by tag name
- Finding HTML elements by class name
- Finding HTML elements by CSS selectors
- Finding HTML elements by HTML object collections
Finding HTML Element by Id
The easiest way to find an HTML element in the DOM, is by using the element id.
This example finds the element with id="intro" :
Example
const element = document.getElementById("intro");If the element is found, the method will return the element as an object (in element).
If the element is not found, element will contain null .
Finding HTML Elements by Tag Name
This example finds all <p> elements:
Example
const element = document.getElementsByTagName("p");This example finds the element with id="main" , and then finds all <p> elements inside "main" :
Example
const x = document.getElementById("main");
const y = x.getElementsByTagName("p");Finding HTML Elements by Class Name
If you want to find all HTML elements with the same class name, use getElementsByClassName() .
This example returns a list of all elements with class="intro" .
Example
const x = document.getElementsByClassName("intro");The querySelector() Method
Example
<html>
<body>
<p class="demo"></p>
<script>
// Access a paragraph Element
const myPara = document.querySelector(".demo");
// Change the content of the Element
myPara.innerHTML = "Hello World!";
</script>
</body>
</html>Live preview
The querySelectorAll() Method
Example
<html>
<body>
<p class="demo">One</p>
<p class="demo">Two</p>
<script>
// Access a paragraph Element
const myItems = document.querySelectorAll(".demo");
// Change the content of the Element
myItems[0].innerHTML = "First";
</script>
</body>
</html>Live preview
Common Mistakes
- Using
#in getElementById(): Wrong: "#demo" - Forgetting that querySelector() returns only the first match
If you want to find all HTML elements that match a specified CSS selector (id, class names, types, attributes, values of attributes, etc), use the querySelectorAll() method.
This example returns a list of all <p> elements with class="intro" .
Example
const x = document.querySelectorAll("p.intro");Finding HTML Elements by HTML Object Collections
This example finds the form element with id="frm1" , in the forms collection, and displays all element values:
Example
const x = document.forms["frm1"];
let text = "";
for (let i = 0; i < x.length; i++) {
text += x.elements[i].value + "<br>";
}
document.getElementById("demo").innerHTML = text;The following HTML objects (and object collections) are also accessible:
- document.anchors
- document.body
- document.documentElement
- document.embeds
- document.forms
- document.head
- document.images
- document.links
- document.scripts
- document.title