[英]How to get actual width/height of some element after loading whose width/height originally set by PERCENTAGE?
我有一個iframe,其內容指向HTML文檔。
在該HTML文檔中,有一個EMBED元素指向PDF文檔。 此EMBED最初設置的寬度和高度為PERCENTAGE(例如: width: 100%; height: 100%
)。
我的問題是:
加載iframe后,如何獲取EMBED元素的實際 ,絕對寬度和高度(以px,pt,em等為單位)。
我一直在嘗試所有可能的js屬性(寬度,高度,樣式:clientWidth,clientHeight,offsetWidth,offsetHeight ...)以及在jQuery中(例如,outerWidth,outerHeight等),但似乎毫無希望。
這應該返回您需要的內容:
document.getElementById("id").clientHeight
document.getElementById("id").clientWidth
id是EMBED元素的唯一ID。
有關此的更多信息:
您應該使用.offsetWidth和.offsetHeight屬性。 注意! 它們屬於元素,而不是element.style。
var width = document.getElementById('foo').offsetWidth;
它適用於所有現代瀏覽器。 但要小心! 如果您最近對元素進行了某些DOM修改,則offsetWidth / offsetHeight可以返回0。 修改元素后,可能必須在setTimeout調用中調用此代碼。 也許那是你的問題?
http://jsfiddle.net/purmou/9XXwf/2/
這使用jQuery的width()
和height()
。 當前,它會查找對象的總寬度/高度,包括填充,邊框,邊距等。如果要查找元素本身的寬度和高度(不包括邊框等),請替換var width = this.offsetWidth;
var width = $(this).width();
和var height = this.offsetHeight;
與var height = $(this).height();
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.