2010-02-16 75 views
2

我有一個div標籤jquery的格內容真實寬度

<div id="openfrag"> 
<script language="JavaScript" src="http://ad.uk.doubleclick.net/adj/BA_HOME/HP_Public_MSB; dcopt=ist;sz=728x90,468x60;tile=1;lan=en;ord=1265795605?" type="text/javascript"></script> 
</div> 

上面的腳本標籤是第三方URL可能返回任一圖像或Flash對象或任何其它任意尺寸的.. 如何確定動態寬度和由div標籤使用jquery佔用的高度?

我嘗試$(「#openxfrag」)。寬度(),但它總是返回在CSS

+0

主要的要求是,如果腳本返回內容的寬度和高度大於300,那麼我們需要顯示的內容上面的錨鏈接 – user274069 2010-02-16 05:21:06

回答

3

檢查後的內容已經被加載到它的寬度定義相同的寬度。您可以檢查寬度或外部寬度:

$("#openfrag").width(); 
$("#openfrag").outerWidth(); 

outerWidth包括填充和邊框。

如果您使用CSS設置默認寬度,則可以考慮刪除該寬度(因爲它會覆蓋自然寬度),或者替換爲min-width(假設未來寬度將更大)。

3

我嘗試$( 「#openxfrag」)。寬度(),但它總是返回在CSS

定義相同的寬度爲什麼不會呢?如果你在CSS中指定它的寬度,那麼它將具有的寬度!如果你想讓它的寬度由它的內容決定,你必須避免指定一個寬度......並且你必須make it shrink-wrap the contents

只有這樣你才能期待$("#openfrag").width()做一些有用的事情。

+1

+1抓住CSS寬度事實的好點。 – Sampson 2010-02-16 05:14:16

0

最簡單的方法是創建一個新的隱藏div,然後檢查其寬度。這將是它的內容的大小,因爲它沒有定義CSS並且將擴展以適應其內容。

HTML:

<div id="getWidth" style="display: none;"> 
    <!-- Put contents here --> 
</div> 

的JavaScript:

<script type="text/javascript"> 
    console.log($("#getWidth").width()); 
</script>