首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取svg:g元素的宽度

如何获取svg:g元素的宽度
EN

Stack Overflow用户
提问于 2012-07-29 00:57:11
回答 2查看 48.3K关注 0票数 69

我目前正在使用JavaScript中的svg元素。我对此还是个新手。

我的问题是,我有一个svg元素,其中有多个svg:g元素。在我的svg:g元素中,我还有各种其他的svg元素。

代码语言:javascript
复制
    <svg>
     <g class="my-class">
      <g class "c1">
         <text style="font-size: 9" x="0" y="-4"> john </text>
         <text style="font-size: 9" x="70" y="-4"> 13 </text>
      </g> 
      <g class="c2">
         <text style="font-size: 9" x="0" y="-4"> john </text>
         <text style="font-size: 9" x="70" y="-4"> 13 </text>
      </g> 
      <g class="c3">
         <text style="font-size: 9" x="0" y="-4"> john </text>
         <text style="font-size: 9" x="70" y="-4"> 13 </text>
      </g> 
    </g>
   </svg>

g正在动态地追加到我的

g "my_class“

现在我想将我的宽度设置为等于g.my_class svg的宽度。

代码语言:javascript
复制
var svgWidth  =   $('.my-class').width()
alert(svgWidth);

但它给了我零分。我怎么能在浏览器上的黄色工具提示框中看到它

当我选择这条线时。

有没有人能给我指点一下?我做得对吗,或者我如何才能做到这一点?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-29 01:09:11

试试.getBoundingClientRect

代码语言:javascript
复制
$('.my-class')[0].getBoundingClientRect().width;

演示http://jsfiddle.net/5DA45/

票数 100
EN

Stack Overflow用户

发布于 2012-08-08 23:15:18

我推荐getBBox (它是SVG1.1的一部分)而不是getBoundingClientRect (它不是):

代码语言:javascript
复制
$('.my-class')[0].getBBox().width;

演示http://jsfiddle.net/TAck4/

票数 91
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11702952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档