Pages


have a solution

Wednesday, January 30, 2013

How to detect height of an element in JQuery

There is are three methods in JQuery that deals with the height of a element. .height() : it measure the height of the element/container excluding applied padding, margin and border-width.
.innerHeight() : it measure the height of the element/container excluding applied margin. It includes applied padding but not border-width of the element.
.outerHeight() : It measures the height of the element/container including all applied padding + border width but not margin. If you want to include margin too, you should use .outerHeight(true)
Any of the method will provide 'pixel' value of the height of container. We just have to select the method which that suits our requirement. first of all apply style="height:auto;" in element, so it can get the height as per content in it. then use these methods as below:
$('#element-id').ready(function(){
var eHeight = $('#element-id').height();
 //or
 eHeight = $('#element-id').innerHeight();
 //or
 eHeight = $('#element-id').outerHeight();
 // if you need to assign this height to any other element you can assign it simply as 
 $("#other-element").css("height", eHeight + "px");
});
The point to be noted here is, I'm using ('#element-id').ready() and not DOM ready.
Sometimes when we use it on DOM ready it may height = 0.
So let the container be ready and then get the height.


spread love :)
Post a Comment