【问题标题】:Getting the height of a div获取div的高度
【发布时间】:2011-08-31 08:51:21
【问题描述】:
<span style="width:100%" id="learning_menu"><div id="aLM" style="width:100%;height:100%">test | test | test</div></span>

上面的代码是我拥有的当前 HTML。我将使用 jQuery 使内部“div”收缩和增长。我不知道如何获得跨度/ div的高度。我不会在 CSS 中设置特定值,因为它可能会根据浏览器而改变。因此,我的 JavaScript (style.height) 总是返回 0。

有什么想法吗?

【问题讨论】:

标签: javascript css html height


【解决方案1】:

$("#learning_menu").height() 将返回跨度的高度

【讨论】:

  • 我将授予您“答案”,因为您给了我一个完整的代码示例。非常感谢!现在效果很好:)
  • 这个答案使用了所有库中最没用的库,有这么多网络开发人员在使用它,不可能找到真正了解 javascript 并能解释其内部原理的人,总是 jQuery,我每天都越来越讨厌它。
  • @iharob 为什么当 jQuery 在一行代码中为您提供所需的一切时,事情变得复杂了?此外,OP 想要 jQuery 中的解决方案。如果你想知道如何用纯 javascript 做到这一点,你应该在一个单独的问题中提出要求
【解决方案2】:

使用 jQuery:那就是 .height() 方法。

var span_height = $('#learning_menu').height(),
    div_height = $('#aLM').height();

注意将块级元素(在本例中为 &lt;div&gt;)置于内联元素(&lt;span&gt;)内是无效的 HTML。

【讨论】:

  • 感谢您的帖子!我会选择 BnW,因为他向我提供了有关使用情况的更多详细信息。
【解决方案3】:

这里是纯js,不需要jQuery:

document.getElementById("learning_menu").offsetHeight;

【讨论】:

  • @MattBall,是的,是的,而且不需要不必要的 jQuery
  • 我一开始用这个没用,这就是我来这里的原因。我正在使用 jQuery,所以使用它并不会打扰我;)
  • @Neal - 但是如果Div 被隐藏,那么它的返回高度'0'。 ?有什么想法吗?
【解决方案4】:

嗯。我不确定你的问题是否正确,但是......从纯javascript中,您可以使用元素的clientHeight(或offsetHeight)属性来获取它的高度(以像素为单位)。从 jquery 只需使用 .height() 方法(实际上是一个与浏览器无关的 clientHeight 属性包装器)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多