2010-02-16 61 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>