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>
可以用 getBoundingClientRect().height解。
具體我沒有碰到過,但是可以給你一個思路。火狐瀏覽器的提示還是人性化的。直接去控制台查看svg高度的定義方式,如果火狐中顯示0和undefined請貼出控制台error。如何能給你思路,請採納謝謝