我的元素的外部样式为height
百分比。当我试图将高度保存为要使用的变量时,它会将其保存为pixels
,有时甚至都没有。
HTML 例如:
<div id='firstDiv'></div>
<div id='secondDiv'></div>
css代码
#firstDiv{
width:50%;
height:50%;
}
#secondDiv{
width:20%;
height:50%;
}
Jquery代码
$('div').each(function (){
console.log($(this)[0].style.height);
}
我怎样才能将其作为%
?
答案 0 :(得分:2)
试试这个,而不是jQuery中的直接选项。
var height = ( 100 * parseFloat($(element).css('height')) / parseFloat($(element).parent().css('height')) ) + '%';
答案 1 :(得分:2)
要以%为单位获取值,您可以将值除以最顶层节点[dom中的第一个父节点]
parseFloat($(this)[0].style.height / $('#idOfFirstParent').height ()) * 100;
,如果你想获得引用DOM中第一个父项的值或文档宽度的值[这将从屏幕的0,0开始]。
(parseFloat($(this)[0].style.height/ $('window').height ()) * 100).toFixed(2);
or
(parseFloat($(this)[0].style.height / $('document').height ()) * 100).toFixed(2);
答案 2 :(得分:1)
只需计算百分比:
var w = $("#myDiv").css("width").slice(0,-2);
var ww = $(window).width();
console.log(w/ww*100);
答案 3 :(得分:0)
使用parseInt(string)。 如果字符串以数字
开头,它会删除任何数字后面的字符答案 4 :(得分:0)
$(this).height()
将以百分比(因为它们已设置为百分比)给出div的高度,并且将减少单位。