I was trying to get a list of element's height value but it was returning 0.
I've done some research and saw that in order get element's height, that element must be visible.
But I want to check its height when it's hidden. If its height is bigger than some value use some functions then make it visible. Is there any way to do this?
I mean:
You can show
the element get the height and then hide it, visually you will not see any difference.
var height = $('elementSelector').show().height();
$('elementSelector').hide();
if(height != <<HeightToCompare>>){
//Code here
}
//Finally make it visible
$('elementSelector').show();
Demo
One way is to clone the object, position the clone far outside the viewport, make it visible, measure the clone, then destroy it.
So you have:
<div id="maybe" style="display: none;">
Something
</div>
Since you're using jQuery, you'd do something like this:
$('#maybe')
.clone()
.attr('id','maybe_clone') // prevent id collision
.css({ // position far outside viewport
'position': 'absolute',
'left': '-1000px'
});
if( $('#maybe_clone').show().height() > 200 ) {
$('#maybe').show();
}
$('#maybe_clone').remove(); // housekeeping
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