javascript - SVG 获取文本元素宽度

标签 javascript dom text svg

我正在为 SVG 文件编写一些 ECMAScript/JavaScript,需要获取 text 元素的 widthheight 所以我可以调整围绕它的矩形的大小。在 HTML 中,我可以在元素上使用 offsetWidthoffsetHeight 属性,但这些属性似乎不可用。

这是我需要处理的片段。每当我更改文本时,我都需要更改矩形的宽度,但我不知道如何获取 text 元素的实际 width(以像素为单位)。

<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>

有什么想法吗?

最佳答案

var bbox = textElement.getBBox();
var width = bbox.width;
var height = bbox.height;

然后相应地设置矩形的属性。

链接:getBBox()在 SVG v1.1 标准中。

关于javascript - SVG 获取文本元素宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636842/

相关文章:

javascript - Angular js 创建一个自定义过滤器,返回小于动态数字的所有项目

css - 仅对单个网页为 body 标签提供自定义填充

c - 从文本行的两侧删除空格

c - 如何比较C中文本的字符?

javascript - Node.js 服务器在本地工作,但由于缺少 `cleanModifiedSubpaths` 而无法在 Heroku 上工作

javascript - 如何使用 Styled Components 在 Reactjs 中导入本地字体?

javascript - 从登录页面路由后内容消失了吗? react 路由器Dom + Electron

php - 确定 DOMElement 的父节点

javascript - 将 j/s 变量注入(inject)可重用的 HTML block 而不将两者混合在 j/s 文件中的有效方法是什么?

bash - 如何用行号替换文本文件中的整行