Javascript 如何计算内部有文本且宽度固定的div的高度
我有以下代码:Javascript 如何计算内部有文本且宽度固定的div的高度,javascript,jquery,css,Javascript,Jquery,Css,我有以下代码: <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 i
<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>
好极了我们将继续发货并通知跟踪部门#明天:)谢谢你,安琪尔!:)
7天前
我想通过使用javascript了解这个div的高度。有没有办法做到这一点?
此div具有固定大小的宽度(在本例中为150px)。我只是想知道div的高度,说文字变了。首选的方法是通过jQuery,但javascript也可以
编辑:
element.offsetHeight;
这里非常重要的一点是,这是在渲染div之前进行的计算。我基本上是在创建pinterest布局,我需要计算项目卡中注释的高度,以便在加载图像之前可以首先将其布局。尝试使用。height()like
var div_hght = $('.content').height();
alert(div_hght);
Javascript:
element.offsetHeight;
这将给出元素的高度
看看这里,这是纯javascript
jQuery:
element.offsetHeight;
$elem.height()代码>-给出元素的高度,无填充、边框和边距
$elem.innerHeight()代码>-给出包括填充在内的高度
$elem.outerHeight(真)代码>-给出高度,包括填充、边框和边距
编辑:
element.offsetHeight;
如果您想在渲染之前找到元素的高度,那么我可以为您提供许多可能的解决方案之一
使用相应的innerHTML将元素附加到主体中
使用上述任何一种方法确定高度
现在,移除元素,当然,您会发现height&元素不在那里
请参见jQuery中的Fiddle::height
将给出不带边框或填充的高度,innerHeight
给出包含填充但不带边框的高度,outerHeight
给出带边框的高度,填充时还可以选择包含边距
正如Prasath K所指出的那样,vanillaJS,offsetHeight
将为您提供包括填充和边框在内的高度
实际上,没有一种方法可以计算不在dom中的元素的高度。您可以将其添加到dom中的某个位置,使用上述方法之一计算高度,然后再次删除它。jQuery
var height = $('.content').height();
console.log(height);
香草JS
var height = document.getElementsByTagName('content').offsetHeight
console.log(height);
.height()
描述:获取当前计算的高度
- -jQuery API文档
.innerHeight()
描述:获取当前计算的高度,包括填充,但不包括边框
- -jQuery API文档
.outerHeight()
描述:获取当前计算的高度,包括填充、边框和可选边距
- -jQuery API文档
除了上述技术之外,为了在计算时不让元素出现在屏幕上,您可以使用可见性:隐藏(CSS)。通常不能使用display:none
,因为元素通常被认为在该状态下没有维度
您还可以使用负的z-index
来渲染位于某个模糊元素下方的div。此外,这里的答案忘了提到scrollHeight
属性,该属性可用于获取div的完整高度(其中的所有可滚动内容)
要调用它,您需要使用如下索引:
$('#content')[0].scrollHeight;
您是否尝试过搜索jQuery文档?它们有你可以使用的所有函数,用例子和所有东西解释清楚,怎么样?问题是这是在视图呈现之前,所以元素还不存在,a.k.a:div不存在。所以我只有一个文本。@aherlambang看到我编辑过的答案了吗?但是我怎么知道宽度呢?这实际上是在渲染视图之前。我认为您希望在渲染视图之后找到高度。不,这是在渲染视图之前。为什么您必须事先知道?$elem.outerHeight(true)代码>给出高度,包括边距<代码>$elem.outerHeight()代码>提供直到边界。有3个以上选项