我有以下代码:
<div class="content">
<a href="/profile/Nat's Rare & Raw" class="link-name"><strong>Irene Natalia</strong></a>
Hooray! we'll proceed with the shipping and inform the tracking # tomorrow :) Thank you, Angel! :)
<br>
<span class="date">7 days ago</span>
</div>
我想通过javascript知道这个div的高度。有办法吗? 该div具有固定大小的宽度(在这种情况下为150px)。我只是想知道div的高度说文本改变了。首选方法是通过jQuery,但javascript也很好
修改
这里非常重要的一点是,这是在渲染div之前的计算。我基本上创建了一个pinterest布局,我需要计算项目卡中注释的高度,以便在加载图像之前,砌体可以先放置它。
答案 0 :(得分:16)
<强>使用Javascript:强>
element.offsetHeight;
这给出了元素的高度
在此处查看offsetHeight,这是纯粹的javascript。
<强> jQuery的:强>
$elem.height();
- 给出元素的高度,没有填充,边框和边距
$elem.innerHeight();
- 给出包含填充的高度
$elem.outerHeight(true);
- 给出包括填充,边框和边距的高度
修改强>
如果你想在渲染之前找到元素的高度,那么我可以给你一个很多可能的解决方案
答案 1 :(得分:2)
<强>的jQuery 强>
var height = $('.content').height();
console.log(height);
Vanilla JS
var height = document.getElementsByTagName('content').offsetHeight
console.log(height);
答案 2 :(得分:2)
描述:获取当前计算的高度。
.height()
- jQuery API文档描述:获取当前计算的高度,包括填充但不包括边框。
.innerHeight()
- jQuery API文档描述:获取当前计算的高度,包括填充,边框和可选的边距。
.outerHeight()
- jQuery API文档答案 3 :(得分:1)
在jQuery中:height
会给出没有边框或填充的高度,innerHeight
给出包含填充但没有边框的高度,outerHeight
给出带边框和填充的高度以及包含选项保证金。
I vanillaJS,正如Prasath K指出的那样,offsetHeight
会给你高度,包括填充和边框。
实际上没有办法计算不在dom中的元素的高度。您可以将它添加到dom中的某个位置,使用上述方法之一计算高度,然后再将其删除。
答案 4 :(得分:0)
尝试。 height(),如
var div_hght = $('.content').height();
alert(div_hght);
答案 5 :(得分:0)
除了上述技术之外,为了在计算时不在屏幕上显示元素,您可以使用visibility: hidden
(CSS)。您通常不能使用display: none
,因为该元素通常被认为在该状态下没有维度。
您还可以使用否定z-index
渲染到位于某个遮挡元素下方的div。
答案 6 :(得分:0)
此外,这里的答案忘记提到scrollHeight
属性,该属性可用于获取DIV的完整高度(内部所有可滚动内容)。
要调用它,您需要使用类似这样的索引:
$('#content')[0].scrollHeight;