urs*_*mar 18 javascript jquery
使用下面的代码,警报不会返回#main的实际大小,它总是返回#main的css宽度值,并删除%.所以在这种情况下,我在警报中得到95.如果我提醒parent().width()我得到100.
从.get()调用返回的数据是ul,有时比#main宽,有时不宽.内容的宽度似乎与.width()返回的内容没有任何关系.
所以我的问题是,如何获得#main的真实像素宽度?
CSS:
#container {
width: 100%;
}
#main {
width: 95%;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div id="conatiner">
<div id="main"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript/jQuery的:
$.get('page.php', function(result) {
$('#main').html(result);
});
alert($('#main').width();
Run Code Online (Sandbox Code Playgroud)
小智 19
我试图在用于内联编辑的textareas上实现jquery.autogrow-textarea时遇到了同样的问题.textareas包含在div尚未显示的内容中(css display: none;).在调试.autogrow()javascript代码时,我发现jQuery .width()正在返回百分比值,删除'%'字符而不是计算的宽度(以像素为单位)(例如100表示100%,80表示80%).
以下是说明此场景的jsfiddle:http://jsfiddle.net/leeives/ujE6s/
要解决这个问题,我会.autogrow()在显示textarea后立即将代码更改为.这些电话.width()是准确的.
我不确定你是否正在使用隐藏的内容,但我想我会写下我的答案,以防其他人在搜索jQuery的问题时偶然发现(就像我一样).width().
| 归档时间: |
|
| 查看次数: |
21824 次 |
| 最近记录: |