Javascript 如何获得加载后某个元素的实际宽度/高度,该元素的宽度/高度最初是按百分比设置的?
我有一个iframe,它的内容指向一个HTML文档 在HTML文档中,有一个指向PDF文档的嵌入元素。此嵌入最初设置为以百分比表示的宽度和高度(例如: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
宽度: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调用中调用此代码。也许那是你的问题