I have a function in JS that hides the element parsed:
function hide(id){
document.getElementById(id).style.display = "none";
}
How can I create a function that brings back the element to the default style value. For instance a div display
property is "block"
as for an image is "inline-block"
, other elements are "inline"
or lists are "list-item"
How can I bring them back their default state?
function show(id){
document.getElementById(id).style.display = "?????";
}
I know how to do it in Jquery but it is not an option.
In CSS there might be styles for the elements including style:none
, which need to be overwritten to the default value.
Since there is CSS in my example making style.display = ''
eliminates the style added with JS but gets back to whatever style is added in CSS, I want to bring it back to its default value even before assigning styles with CSS.
I tried this as it was suggested in a link in one of the comments:
elem = document.getElementById(id);
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("display");
but in this case 'theCSSprop'
returns "none"
for a div
, when I expect "block"
Any ideas? Thanks.
opposite of 'none' is 'flex' while working with react native. Show activity on this post. visibility:hidden will hide the element but element is their with DOM. And in case of display:none it'll remove the element from the DOM.
With display:none, it is effectively removed from the DOM. Hiding DOM elements with CSS is a common task. Some wonder whether they should use visibility:hidden or display:none.
Select the element whose style properties needs to be change. Use element. style property to set the style attribute of an element. Set the properties either by using bracket notation or dash notation.
You need just assign it to empty value:
document.getElementById(id).style.display = "";
Or using removeProperty
method:
document.getElementById(id).style.removeProperty( 'display' );
But note that removeProperty
will not work on IE<9
.
If you want to get original CSS value you will need probably to get it from empty <iframe>
element. I created example on jsFiddle how to get current value using getComputedStyle
and iframe value on jsFiddle.
Please note that getComputedStyle
not support old versions of IE. It support IE9+.
For IE8 you should use Element.currentStyle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With