Javascript 如何获得加载后某个元素的实际宽度/高度,该元素的宽度/高度最初是按百分比设置的?

Javascript 如何获得加载后某个元素的实际宽度/高度,该元素的宽度/高度最初是按百分比设置的?,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有一个iframe,它的内容指向一个HTML文档 在HTML文档中,有一个指向PDF文档的嵌入元素。此嵌入最初设置为以百分比表示的宽度和高度(例如:宽度:100%;高度:100%) 我的问题是: 加载iframe后,如何检索嵌入元素的实际值、绝对宽度和高度(以任何单位px、pt、em等为单位) 我已经尝试了所有可能的js属性(宽度、高度、样式:clientWidth、clientHeight、offsetWidth、offsetHeight…)以及jQuery(如outerWidth、oute

我有一个iframe,它的内容指向一个HTML文档

在HTML文档中,有一个指向PDF文档的嵌入元素。此嵌入最初设置为以百分比表示的宽度和高度(例如:
宽度:100%;高度:100%

我的问题是:

加载iframe后,如何检索嵌入元素的实际值、绝对宽度和高度(以任何单位px、pt、em等为单位)


我已经尝试了所有可能的js属性(宽度、高度、样式:clientWidth、clientHeight、offsetWidth、offsetHeight…)以及jQuery(如outerWidth、outerHeight等),但似乎没有希望了。

这应该会返回您需要的:

document.getElementById("id").clientHeight 
document.getElementById("id").clientWidth 
id是嵌入元素的唯一id

欲了解更多信息:


这使用jQuery的
width()
height()
。当前,它查找对象的总宽度/高度,包括填充、边框、边距等。如果要查找元素本身的宽度和高度,不包括边框等,请替换
var width=this.offsetWidth带有
var width=$(this).width()和<代码>变量高度=此。偏离视线带有
var height=$(this).height()

您应该使用.offsetWidth和.offsetHeight属性。 注意!它们属于元素,而不是元素.style

var width = document.getElementById('foo').offsetWidth; 
它适用于所有现代浏览器。 但要当心!如果最近对元素进行了某些DOM修改,offsetWidth/offsetHeight可以返回0。修改元素后,可能必须在setTimeout调用中调用此代码。也许那是你的问题