Pim Jager Pim Jager - 6 months ago 29
jQuery Question

Get css top value as number not as string?

In jQuery you can get the top position relative to the parent as a number, but you can not get the css top value as a number if it was set in

px
.

Say I have the following:

#elem{
position:relative;
top:10px;
}




<div>
Bla text bla this takes op vertical space....
<div id='elem'>bla</div>
</div>




$('#elem').position().top; //Returns the number (10+(the vertical space took by the text))
$('#elem').css('top'); //Returns the string '10px'


But I want to have the css top property as the number
10
.

How would one achieve this?

M4N M4N
Answer

You can use the parseInt() function to convert the string to a number, e.g:

parseInt($('#elem').css('top'));

Update: (as suggested by Ben): You should give the radix too:

parseInt($('#elem').css('top'), 10);

Forces it to be parsed as a decimal number, otherwise strings beginning with '0' might be parsed as an octal number (might depend on the browser used).