We can use JavaScript to set the visibility of an element by using the JavaScript getElementById() method along with the visibility property.
document.getElementById("div1").style.visibility = "visible";
The code above will make sure #div1 is visible.
document.getElementById("div1").style.visibility = "hidden";
The code above will make sure #div1 is hidden from view, but it will still take up space.
Let’s say I have the following HTML:
<div id="div1">
<p id="p1">This is a paragraph.</p>
</div>
If we wanted to use JavaScript to set the visibility of the paragraph inside of div #div1 to hidden, we would use the following JavaScript code:
document.getElementById("p1").style.visibility = "hidden";
The resulting HTML would be as follows:
<div id="div1">
<p id="p" style="visibility: hidden;">This is a paragraph.</p>
</div>
Using JavaScript to Set the Visibility of a Div with a Click
We can set the visibility of an HTML element using JavaScript very easily by combining the visibility property method with a click event.
In this HTML example, we will have two boxes stacked on top of each other. We will provide a button to give the user the option to change the visibility of the top box.
Here is the simple HTML code:
<style>.boxes { width: 200px; height: 200px; margin-bottom: 10px; } #box1 { background: #82b5be; } #box2 { background: #9c94d5; } </style>
<div id="div1">
<div id="box1" class="boxes"></div>
<div id="box2" class="boxes"></div>
<div id="click-me" onclick="setVisibility()">Show/hide top box</div>
</div>
We can utilize both an onclick event and the JavaScript getElementById() method to toggle the visibility of the top box. When the user clicks the button, we will run a function that changes the visibility property of the div and sets it to hidden. We will let the user change the visibility from visible to hidden and vice versa as many times as they want.
One thing to notice is when we set the visibility of an element to hidden, it will hide the element from view, but the element will still take up space on the screen. If we want to hide the element and remove it from taking up space on the screen, we would have to target the display property of the element and change it to none.
Here is our JavaScript code:
function setVisibility(){
if ( document.getElementById("box1").style.visibility == "hidden" ){
document.getElementById("box1").style.visibility = "visible";
} else {
document.getElementById("box1").style.visibility = "hidden";
}
};
The final code and output for this example of how to use JavaScript to set the visibility of a div with a click is below:
Code Output:
Full Code:
<style>.boxes { width: 200px; height: 200px; margin-bottom: 10px; } #box1 { background: #82b5be; } #box2 { background: #9c94d5; } </style>
<div id="div1">
<div id="box1" class="boxes"></div>
<div id="box2" class="boxes"></div>
<div id="click-me" onclick="setVisibility()">Show/hide top box</div>
</div>
<script>
function setVisibility(){
if ( document.getElementById("box1").style.visibility == "hidden" ){
document.getElementById("box1").style.visibility = "visible";
} else {
document.getElementById("box1").style.visibility = "hidden";
}
};
</script>
Hopefully this article has been useful for you to understand how to use JavaScript to set the visibility of an element.
Leave a Reply