根据CURRENT内容确定.results 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绝对不准确。我如何获得真正的价值?
我没有找到任何可能影响身高的返回假。但是,我确实发现在html中直接设置高度为style =“height:0px;”正确更新高度。我不知道还有什么可以尝试的,所以我现在很难过......
答案 0 :(得分:1)
查看jquery的.height()
函数。
这是一个jsfiddle,表明它实际上正在改变:http://jsfiddle.net/EvybH/2
<强>更新强>
height: 0px;
让我思考,所以我在小提琴中测试并更新:http://jsfiddle.net/EvybH/3/。
如果在css中设置特定高度,则看起来.height()属性将始终返回该值。检查小提琴。如果要将div设为默认高度,然后允许其展开,则可以设置min-height: 18px
。
答案 1 :(得分:0)
正如之前的海报所说,.height()应该正常工作,但是如果它不起作用,我相信打电话
.height(currentElement.height).height()
将返回一个刷新的高度(虽然非常hacky,可能不鼓励)。
编辑:currentElement是具有动态高度的元素