0

我使用 jQuery 动态调整一些元素的大小。

在大多数情况下,它进展顺利,我调用$(selector).css('height');以获取高度/宽度值或$(selector).height();.

它通常会为我提供 中的值px,即使我%在样式表中设置了它。

但有时,它会返回 in 的值%,所以我想知道,有没有办法确保获得 in 的值px?如何“防止”格式?

4

4 回答 4

1

编辑

我收回这一点 - 我不确定 jQuery 是否会返回一个 % 值,即使你在 CSS 中指定它 - 内联或其他(尽管我会保持我原来的答案不变)。

您能否提供一个示例,说明何时会返回 % 值?

原来的

.css()将为您提供直接应用于元素的值:

  <div style="height: 75%;">

.height()get 是 DOM 本身中元素的高度 - 始终以像素为单位。

于 2013-10-07T17:29:51.197 回答
1

不要使用

$(selector).css('height');

获取像素值。它返回确定的 CSS,这可能是您收到返回的百分比值的原因。利用

$(selector).height();

专门用于像素值。

于 2013-10-07T17:30:35.810 回答
0

引用jQuery API

.height() 返回一个无单位的像素值

如果您真的想要 %,您还必须通过测量文档高度来进行计算。

于 2013-10-07T17:32:07.753 回答
0

尝试

var a = $(window).height();
var b = $('#div').height();

百分比高度可以计算为:

(b / a)*100 
于 2013-10-07T17:33:35.587 回答