2

我的 HTML 中有这个(不是动态添加的或类似的):

<div id="TEST" style="width:600px; height:300px;"></div>

当我这样做时:alert(jQuery("#TEST").width());

...它在 IE 中警告 1280!它在 Chrome 中警告 600 - 这可能是什么问题?

这些是唯一应用的样式:

在此处输入图像描述

编辑 我什至试过这个,仍然是 1280 ......

jQuery("#TEST").width(600);
alert(jQuery("#TEST").width());

再次编辑

好的,我查看了 jQuery 实现的内部,这是因为它从这个 if 语句返回 true:

if ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window?

为什么我的 div “像窗户一样走路和嘎嘎作响”?

4

2 回答 2

4

需要查看渲染的组件以查看样式的来源,但您应该阅读有关outerWidth.

http://api.jquery.com/outerWidth/

编辑:看到更新的屏幕截图后,您应该制作元素块级别或内联块级别。设置内联元素的宽度不会提供所需的结果,因为它会根据元素的位置而变化。

更多关于内联元素与块元素的信息:http: //www.w3.org/TR/html401/struct/global.html#h-7.5.3

PS。我知道 adiv是一个块元素,你的代码中有什么东西强迫它变成内联吗?

于 2012-06-01T15:14:53.233 回答
1

也许得到CSS宽度?

alert($("#TEST").css("width"));
于 2012-06-01T15:17:03.497 回答