spu*_*dly 102 javascript svg text dom
我工作的一些的ECMAScript/JavaScript来SVG文件,并需要获得width和height一个的text元素,所以我可以调整,围绕它的矩形.在HTML中,我可以使用元素上的offsetWidth和offsetHeight属性,但看起来这些属性不可用.
这是我需要使用的片段.每当我更改文本时我都需要更改矩形的宽度,但我不知道如何获得元素的实际width(以像素为单位)text.
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Nic*_*itz 148
var bbox = textElement.getBBox();
var width = bbox.width;
var height = bbox.height;
Run Code Online (Sandbox Code Playgroud)
然后相应地设置rect的属性.
链接:getBBox()在SVG v1.1标准中.
document.getElementById('yourTextId').getComputedTextLength();
Run Code Online (Sandbox Code Playgroud)
为我工作
关于文本的长度,链接似乎表示BBox和getComputedTextLength()可能返回稍微不同的值,但是彼此非常接近的值.
http://bl.ocks.org/MSCAU/58bba77cdcae42fc2f44