【发布时间】:2011-09-06 17:27:38
【问题描述】:
使用下面的代码,警报不会返回#main 的实际大小,它总是返回#main 的css 宽度的值,% 被删除。所以在这种情况下,我在警报中得到 95。如果我提醒 parent().width() 我得到 100。
从 .get() 调用返回的数据是一个 ul,有时比 #main 宽,有时不是。内容的宽度似乎与 .width() 返回的内容没有任何关系。
所以我的问题是,如何获得#main 的真实像素宽度?
CSS:
#container {
width: 100%;
}
#main {
width: 95%;
overflow: hidden;
}
HTML:
<div id="conatiner">
<div id="main"></div>
</div>
Javascript/jQuery:
$.get('page.php', function(result) {
$('#main').html(result);
});
alert($('#main').width();
【问题讨论】:
-
很奇怪,因为文档说 width() 将始终以像素为单位返回值 (api.jquery.com/width) -> “...返回无单位的像素值(例如,400)”
-
无法使用提供的代码进行复制:jsfiddle.net/w7kqb/1 请提供一个无法使用的示例。
-
您错过了该警报的结束
)。我认为在你的真实代码中不是这样吗? -
main的实际宽度有可能是95像素吗?
-
怎么没有人注意到他在ajax请求发出之前很久就调用
.width(),更不用说完成并执行它的成功回调(ul在哪里被添加到#main)?我的天
标签: javascript jquery