Table of Contents
Sometimes, you want to be able to programmatically control whether an element is visible or not.
In this post, we'll learn how to hide and show DOM elements using JavaScript.
For this post, we'll be using the following HTML:
HTML<div class="content">
This is content
</div>
Now, we'll create a button that will toggle the visibility of the element.
HTML<button class="toggle-content">
Toggle Content
</button>
Add a click listener to the button that will call a method to toggle the visibility of the element.
HTML<button class="toggle-content" onclick="toggleVisibility()">
Toggle Content
</button>
Create a method called toggleVisibility that will toggle the visibility of the element.
We will take advantage of the display
CSS property to accomplish this.
JAVASCRIPTconst toggleVisibility = () => {
const element = document.querySelector(".content");
if (element.style.display === "none") {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
Here's a full-page working example:
HTML<!DOCTYPE html>
<html>
<body>
<div class="container">
<div class="content">
This is content
</div>
<button class="toggle-content" onclick="toggleVisibility()">
Toggle Content
</button>
</div>
<script>
const toggleVisibility = () => {
const element = document.querySelector(".content");
if (element.style.display === "none") {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
</script>
</body>
</html>
Test it out for yourself:
- HTML
- JavaScript
And there you have it, you are now showing and hiding a DOM element using JavaScript!
Conclusion
In this post, we learned how to programmatically hide and show DOM elements using JavaScript.
We used the display
property and created a simple function to toggle between the two states.
Hopefully, you've found this post helpful and have enjoyed reading it!
- Getting Started with TypeScript
- How to Install Node on Windows, macOS and Linux
- Getting Started with Solid
- How to deploy a .NET app using Docker
- Best Visual Studio Code Extensions for 2022
- How to deploy a PHP app using Docker
- Getting Started with Sass
- Using Puppeteer and Jest for End-to-End Testing
- Getting Started with Handlebars.js
- Setting Up Stylus CSS Preprocessor
- Using Axios to Pull Data from a REST API
- How To Create a Modal Popup Box with CSS and JavaScript