bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/JavaScript/DOM and Browser APIs
JavaScript•DOM and Browser APIs

Selecting DOM Elements

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

Formatted code
<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

Formatted code
<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

Previous

HTML DOM API

Next

HTML DOM - Changing HTML

This chapter

Overview
16

Lessons

47m

Read time

1. The HTML DOM2. HTML DOM API3. Selecting DOM Elements4. HTML DOM - Changing HTML5. HTML DOM - Changing CSS6. HTML Form Validation7. HTML DOM Animation8. HTML DOM Document9. JavaScript Events10. JavaScript Mouse Events11. JavaScript Keyboard Events12. JavaScript Load Events13. JavaScript Timing Events14. JavaScript Event Management15. JavaScript HTML DOM Events16. JavaScript EventListener

On this page

Finding HTML ElementsFinding HTML Element by IdFinding HTML Elements by Tag NameFinding HTML Elements by Class NameThe querySelector() MethodThe querySelectorAll() MethodCommon MistakesFinding HTML Elements by HTML Object Collections