搜索

首页  >  问答  >  正文

javascript - 在火狐中怎么获取svg元素的高度。

svg元素的clientHeight和offsetHeight 在火狐中是0和undefined,在chrome中正常。请问要怎么获取svg的高度呢?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<svg  id="svg" viewBox="0,0,50,50"  version="1.1" xmlns="http://www.w3.org/2000/svg">
    <rect x="0.5" y="0.5" rx="3" ry="3" width="49" height="49" fill="transparent" stroke="black" stroke-width="1"/>
    <text x="25" y="30" text-anchor="middle" font-size="14px" font-family="Yahei" fill="red">Abc</text>
</svg>
<script>
    let a=document.getElementById('svg').clientHeight;
    console.log(a);
</script>
</body>
</html>
淡淡烟草味淡淡烟草味2808 天前521

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-05-19 10:32:24

    可以用 getBoundingClientRect().height解决。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:32:24

    具体我没有碰到过,但是可以给你一个思路。火狐浏览器的提示还是人性化的。直接去控制台查看svg高度的定义方式,如果火狐中显示0和undefined请贴出控制台error。如何能给你思路,请采纳谢谢

    回复
    0
  • 取消回复