【问题标题】:jQuery .height() or outterheight() returning values larger than actual element heightjQuery .height() 或 outterheight() 返回大于实际元素高度的值
【发布时间】:2017-04-04 03:43:38
【问题描述】:

我正在尝试遍历所有具有类 svg_hover 的元素并获取它们的高度。然而,它似乎给了我不可能的高度,例如,如果你看图像,这个元素的正确高度是 305,但它给了我 327。而且偶尔会变得更糟,它会给我 600 的数字。

这是我的代码。

var el = $('.svg_hover')

  $(document).ready( ()=> {

    el.each(function ( idx ) {
      let e = $(this),
          content_height = e.outerHeight();

      console.log(e, content_height);

    })
  })

【问题讨论】:

  • outerHeight() 包括边距。你确定这是你要找的价值吗?只有 width() 怎么样?
  • 是的,我正在使用相对于我的 div 的高度来调整我的 svg 路径的高度,所以我将获得父元素的 height() 或 outterHeight() 但它返回了奇怪的结果。
  • 你能给我们一个带有你的 HTML 和 svg 的工作演示吗?

标签: javascript jquery html css


【解决方案1】:

尝试在 $(window).load() 而不是 $(document).ready() 中调用 outerHeight,因为 $(window).load() 在计算高度与 $(document).ready() 不同,它可能计算得太早了

【讨论】:

  • 该死的。我以为我已经尝试过了,但我使用的是 $(document).load()。这有效
  • 哈哈没问题
【解决方案2】:

当您使用outerHeight() 时,您还会获得填充和边框(outerHight(true) 也会获得边距 ),检查元素的填充并重置它padding:0px

http://api.jquery.com/outerHeight/

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2023-03-30
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2012-08-19
    • 1970-01-01
    相关资源
    最近更新 更多