jquery div内容实际宽度

时间:2010-02-16 04:57:36

标签: jquery

我有一个div标签

<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>

以上脚本标记是第三方网址,可能会返回图像或Flash对象或任何其他任何大小的.. 如何使用jquery确定div标签占用的动态宽度和高度?

我试过$(“#openxfrag”)。width(),但它总是返回与css中定义的宽度相同的

3 个答案:

答案 0 :(得分:3)

在内容加载到后检查宽度。您可以检查宽度或外部宽度:

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

outerWidth包括填充和边框。

如果您使用CSS设置默认宽度,您可以考虑删除它(因为它会覆盖自然宽度)或将其替换为min-width(假设未来的宽度会更大)。

答案 1 :(得分:3)

  

我试过$(“#openxfrag”)。width(),但它总是返回与css中定义的宽度相同的

为什么不会呢?如果你在CSS中为它指定一个宽度,那么就是它所拥有的宽度!如果您希望其宽度由其内容决定,则必须避免指定宽度......并且您必须make it shrink-wrap the contents

只有这样,你才能期望$("#openfrag").width()做一些有用的事情。

答案 2 :(得分:0)

最简单的方法是创建一个新的隐藏div,然后检查其宽度。它将是其内容的大小,因为它没有定义CSS,并将扩展以适应其内容。

HTML:

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

JavaScript的:

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