1

我需要得到一个div的高度。我无法在 css 中设置高度,因为内容可能会改变(这取决于其中的内容)。我试过了:

var buttonsHeight = $(".buttonsContainer").height();

var buttonsHeight = $(".buttonsContainer").outerHeight();

var buttonsHeight = $(".buttonsContainer").innerHeight();

在任何情况下buttonsHeight都是null.

CSS:

.buttonsContainer{
  padding:31px 16px 0;
  position:fixed;
}

小提琴:http: //jsfiddle.net/U7Kck/3/

如果替换 padding:20px 0; 高度:40px 然后buttonsContainer看起来很好......

4

5 回答 5

0

Try this:

var elem = $('.buttonsContainer')[0];
buttonsHeight = window.getComputedStyle(elem, null).getPropertyValue('height');

documentation for getComputedStyle is available here

于 2013-09-30T12:14:31.683 回答
0

我认为当页面打开时,它被赋予了 div 的高度,我现在无法测试,但我想你可以通过以下方式获得它:

$(".buttonsContainer").css("height")
于 2013-09-30T12:12:24.067 回答
0

这些 jQuery 方法工作正常。例子:

$(document).ready(function() {
    var buttonsHeight = $(".buttonsContainer").height();
   console.log("height: " + buttonsHeight);
    buttonsHeight = $(".buttonsContainer").innerHeight();
   console.log("inner height: " + buttonsHeight);
    buttonsHeight = $(".buttonsContainer").outerHeight();
   console.log("outer height: " + buttonsHeight);
});

使用简单的 HTML,例如:

<div class="buttonsContainer">Some <br/>content</div>
<div class="buttonsContainer">Some content</div>

即使有多个buttonsContainer元素,它也能正常工作。只返回找到的第一个元素的高度。

http://jsfiddle.net/KBR3r/2/

所以我想问题出在其他地方。

于 2013-09-30T12:18:03.480 回答
0

clientHeightoffsetHeight为您完成工作。检查他们在这里他们正在工作。根据您是否考虑边框也进入宽度的要求使用上述任何一种。http://jsfiddle.net/KzTDS/。要了解offsetHeightclientHeight检查offsetHeight 和 clientHeight 之间的差异

这里是如何使用

 document.getElementById('button').clientHeight; // Same as below but does not include border scrollbar and no margin
 document.getElementById('button').offsetHeight; // content, padding, border, scrollbar and no margin
于 2013-09-30T12:19:09.350 回答
0
var buttonsHeight = $(".buttonsContainer")[0].clientHeight
于 2013-09-30T12:08:55.517 回答