js获取svg中g元素的宽高

这里有一个g元素:

<g id="g_main" transform="translate(120,2804.5)">
    <rect></rect>
    <rect></rect>
    <rect></rect>
    <rect></rect>
    ...
</g>

此时的g元素没有赋值宽高,因此它的宽高完全由它的内容撑起来的,这个时候我们想获得它的宽高该怎么办呢,使用jquery的width(),height(),css('width'),css('height')都不能获得它的宽高,其实js自带的有一个获取g元素宽高,位置的方法,使用:

var g = document.getElementById("g_main").getBBox(); //获取G元素的宽高属性
console.log(g);

在浏览器中console出来的为这样一个数组:

这样就可获得该g元素的宽高,x,y则是相对于它父级的x轴,y轴的位置,单位都是px

发布了77 篇原创文章 · 获赞 16 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_41756580/article/details/89447890