jQuery Mozilla Firefox svg.height()bug?

时间:2015-05-07 11:45:32

标签: jquery firefox svg

$('svg').height()

偶然发现了一个有趣的bug(?),它在尝试获得svg高度时出现在Mozilla中。当您尝试以百分比形式设置css SVG容器大小时,jQuery svg.height()将返回不是像素值,而是返回百分比值。

Chrome工作正常。只需在Mozilla Firefox和Chrome中打开这个小提琴,然后比较结果:http://jsfiddle.net/Ltew9pjb/3/

现在的答案很简单,如果SVG使用display:none,Mozilla Firefox由于某种原因会返回百分比值,而当没有display:none时,Mozilla将返回px值。我不知道它真的是一个错误,但现在它是如何工作的。检查这个小提琴:http://jsfiddle.net/Ltew9pjb/4/

所以我想问一下,这是一个真正的Mozilla Firefox或jQuery bug,还是别的什么?

1 个答案:

答案 0 :(得分:2)

根据jQuery docs

  

.height()报告的值不保证是准确的   元素或其父级隐藏。要获得准确的值,请确保   在使用.height()之前,元素是可见的。 jQuery将尝试   暂时显示然后重新隐藏元素以测量它   尺寸,但这是不可靠的(即使是准确的)可以   显着影响页面性能。这个展示和重新隐藏   测量功能可能会在未来的jQuery版本中删除。

所以这不是任何一个的错误。