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!
- Managing PHP Dependencies with Composer
- How to deploy a PHP app using Docker
- How to deploy an Express app using Docker
- How to deploy a Node app using Docker
- Getting Started with Sass
- Learn how to use v-model with a custom Vue component
- Getting Started with Handlebars.js
- Build a Real-Time Chat App with Node, Express, and Socket.io
- Creating a Twitter bot with Node.js
- Using Push.js to Display Web Browser Notifications
- Setting Up a Local Web Server using Node.js
- Using Axios to Pull Data from a REST API