【发布时间】:2010-08-20 20:40:38
【问题描述】:
读取 DIV 部分的宽度时,结果以 % 为单位。但是,我想将其转换为像素值。怎么可能?
我在我的 html 中定义了一个类“h”。它的宽度=“100%”。它的父 div 有 width="69%"。
width = ($(this).find('.h').width())
所以实际上宽度不是 window.width() 而是它的 69%。我想要它的像素!!!
【问题讨论】:
读取 DIV 部分的宽度时,结果以 % 为单位。但是,我想将其转换为像素值。怎么可能?
我在我的 html 中定义了一个类“h”。它的宽度=“100%”。它的父 div 有 width="69%"。
width = ($(this).find('.h').width())
所以实际上宽度不是 window.width() 而是它的 69%。我想要它的像素!!!
【问题讨论】:
不要读取 css 使用 .width(),如果 div 不可见(从您之前的答案看来是这种情况),显示它获取宽度并隐藏它,如下所示:
var width = $("#div").show().width(); $('#div").hide();
因为 UI 线程在完成之前不会更新...用户不会看到它。确保.width() 是您所追求的(例如,您是否想要边距?)如果您想要/不想要填充/边距,还有其他尺寸方法,you can find them here。
【讨论】:
根据我在jQuery API 上阅读的内容,您可以在 jQuery 中使用 .width() 返回可用于数学计算的无单位像素值。
例子:
$(window).width(); // returns width of browser viewport
$(document).width(); // returns width of HTML document
单击链接并查看第一个函数底部的演示。我想这是你的答案。
【讨论】: