【问题标题】:jQuery Mozilla Firefox svg.height() bug?jQuery Mozilla Firefox svg.height() 错误?
【发布时间】:2015-07-17 23:18:52
【问题描述】:
$('svg').height()

刚刚在尝试获取 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 错误,还是其他什么?

【问题讨论】:

    标签: jquery firefox svg


    【解决方案1】:

    根据jQuery docs

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

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

    【讨论】:

    • 谢谢,只是想知道为什么不同的浏览器显示不同的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2016-08-09
    • 1970-01-01
    • 2015-09-30
    • 2021-07-12
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多