2017-04-03 93 views
0

我试图遍历所有具有svg_hover类的元素并获取它们的高度。然而,看起来像是给了我不可能的高度,例如,如果你看图像,这个元素的正确高度是305,但它给了我327。偶尔它会让我在600年代的数字。jQuery .height()或outterheight()返回大于实际元素高度的值

enter image description here

这里是我的代码。

var el = $('.svg_hover') 

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

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

     console.log(e, content_height); 

    }) 
    }) 
+0

[outerHeight()](http://api.jquery.com/outerheight/)包含边界等等。你确定这是你正在寻找的价值吗?宽度()如何? – Schlaus

+0

是的我正在调整我的svg路径的高度,使用相对于我的div的高度,所以我将获得父元素的height()或outterHeight(),但它返回奇怪的结果。 –

+0

你可以给我们一个你的HTML和SVG的演示吗? –

回答

1

尝试在$(窗口).load调用outerHeight()而不是$(文件)。就绪()为$(窗口).load()等待所有元素,如图像,是计算高度不同的$(document)。就绪之前加载(),它会计算太早

+0

该死的。我以为我已经尝试过,但我使用$(document).load()。 这工作 –

+0

哈这没问题吧 – StefanBob

0

当你正在服用的outerHeight()你也可以得到填充和边界(outerHight(true)也得到了保证金 ),检查填充的元素并重置它padding:0px

enter image description here

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

相关问题