【发布时间】:2012-08-20 05:59:36
【问题描述】:
我想要什么
根据 CURRENT 内容确定准确的 .results div 的高度。
背景
当我浏览我的网站时,结果 div 会根据搜索等动态内容进行更新。我能够获得结果 div 的高度,但它只是我可以获得的初始值。
更新div的代码
$results.unbind();
$results.empty();
$results.html(newContents);
我的尝试
请注意,我将这些值打印出来,以便在 firebug 中检查。
var $results = $('.results'); /* Prints out: */
console.log($results.height()); /* 18 */
console.log($results[0].scrollHeight); /* 18 */
console.log($results[0].clientHeight); /* 18 */
console.log($results.css('height'); /* 18px */
console.log($results.attr('height'); /* undefined */
高度远远超出页面底部,因此 18px 绝对不准确。我如何获得真正的价值?
可能的解决方案?
ryanulit 帮助我弄清楚 .height() 应该适合我正在做的事情。所以这导致我认为正确处理事件存在一些问题。应用程序中有很多地方返回 false 而不是调用 event.preventDefault()。问题是当你返回false时,除了event.preventDefault()之外,它还调用了event.stopPropagation()。
更新
我没有找到任何返回 false 似乎会影响高度的地方。但是,我确实发现直接在 html 中使用 style="height:0px;" 设置高度正确更新高度。我不知道还能尝试什么,所以我现在很难过......
【问题讨论】:
标签: javascript jquery height