Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Querying the DOM | DOM Manipulation
Advanced JavaScript Mastery
course content

Conteúdo do Curso

Advanced JavaScript Mastery

Advanced JavaScript Mastery

1. Classes
2. DOM Manipulation
3. Events and Event Handling
4. Asynchronous JavaScript and APIs

bookQuerying the DOM

Introduction to Querying the DOM

Querying the DOM involves selecting and accessing specific elements in the document so you can manipulate or interact with them. JavaScript provides several methods to query elements, each with its own use case and behavior.

GetElementById

getElementById is used to select a single element by its unique ID. It's one of the most commonly used methods because IDs are meant to be unique within the document.
Use Case: Best for selecting a specific element when you know its ID.
Returns: A single element or null if no element is found.

GetElementsByClassName

getElementsByClassName selects elements by their class name and returns a live HTMLCollection of elements.
Use Case: Useful when you need to select multiple elements with the same class.
Returns: A live HTMLCollection of matching elements, which updates if the DOM changes.
Limitations: Cannot directly use array methods; must convert to an array if needed.

GetElementsByTagName

getElementsByTagName selects elements by their tag name (e.g., div, p) and returns a live HTMLCollection.
Use Case: Ideal for selecting all elements of a particular type.
Returns: A live HTMLCollection of elements.
Limitations: Non-specific, as it selects all elements of a given tag within the context.

QuerySelector

querySelector selects the first element that matches a CSS selector. It's versatile, allowing you to use any valid CSS selector to find elements.
Use Case: Great for selecting the first match of any CSS selector.
Returns: The first matching element or null if no match is found.

QuerySelectorAll

querySelectorAll selects all elements matching a CSS selector and returns a static NodeList. Unlike other methods, it doesn't update dynamically if the DOM changes.
Use Case: Perfect for selecting multiple elements with complex selectors.
Returns: A static NodeList of elements that doesn't update automatically.

Differences Between These Methods

Return Types

Live vs. Static Collections

CSS Selectors

Performance

Practical Example: Form Validation

Let's combine these methods in a practical scenario: highlighting invalid form fields using classes.

html

index

css

index

js

index

copy

The getElementById method selects the form element, while querySelectorAll retrieves all input fields with the class .input-field. An event listener on the form's "submit" event prevents the default submission and checks each input field. If a field is empty, it's highlighted with a red border, while filled fields get a green border, providing immediate visual feedback to the user.

1. Which method would you use to select an element by its unique ID?
2. If you want to select the first element with the class `box` and get its `id` attribute, which method would you use?
3. In the following HTML code, what will `console.log(contentEls.length);` output?
Which method would you use to select an element by its unique ID?

Which method would you use to select an element by its unique ID?

Selecione a resposta correta

If you want to select the first element with the class `box` and get its `id` attribute, which method would you use?

If you want to select the first element with the class box and get its id attribute, which method would you use?

Selecione a resposta correta

In the following HTML code, what will `console.log(contentEls.length);` output?

In the following HTML code, what will console.log(contentEls.length); output?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2
some-alt