Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算内部有文本且宽度固定的div的高度_Javascript_Jquery_Css - Fatal编程技术网

Javascript 如何计算内部有文本且宽度固定的div的高度

Javascript 如何计算内部有文本且宽度固定的div的高度,javascript,jquery,css,Javascript,Jquery,Css,我有以下代码: <div class="content"> <a href="/profile/Nat's Rare &amp; 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 &amp; 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个以上选项