很容易获得包含一些非格式化文本的Div或Span的宽度或高度,例如:
<div>Hello World</div>
使用JQuery的width()或height()方法。这似乎不适用于格式化的文本元素,如下例所示:
<span id="caption" class="caption" style="left: 406px; top: 357.5px;">
<textformat leading="2">
<p align="LEFT">
<font face="Verdana" color="#FFFFFF" size="4" kerning="0" letterspacing="0">
<b>TYPE</b><b><i>iorad</i></b>and<b>PRESS ENTER</b>
</font>
</p>
</textformat>
</span>
此示例包含一些格式化的文本元素,这些元素在我们呈现html页面时显示良好。但是当我们尝试获取动态宽度或高度时,它返回0或null,如下所示:
$(".caption").width() returns 0
关于从jquery或js获取动态宽度高度的解决方案的任何想法?
答案 0 :(得分:1)
那是因为HTML代码坏了。
您不能在内联元素(span)中包含块元素(p),因此浏览器会尽力纠正代码。您尝试使用的特定浏览器通过将块元素移动到内联元素之外,将内联元素留空。
答案 1 :(得分:0)
它的工作。在这里查看演示http://jsfiddle.net/Simplybj/ZkEyR/1/