javascript - SVG hent tekst element bredde
Jeg jobber med litt ECMAScript/JavaScript for en SVG-fil og trenger å få width og height for et text-element slik at jeg kan endre størrelsen på et rektangel som omgir det. I HTML ville jeg kunne bruke offsetWidth og offsetHeight-attributtene på elementet, men det ser ut til at de egenskapene ikke er tilgjengelige.
Her er et fragment som jeg trenger å jobbe med. Jeg trenger å endre bredden på rektangelet hver gang jeg endrer teksten, men jeg vet ikke hvordan jeg skal få den faktiske bredden (i piksler) til tekst-elementet.
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>
Noen ideer?
Svar #1
var bbox = textElement.getBBox();
var width = bbox.width;
var height = bbox.height;
og deretter sette rektangelets egenskaper tilsvarende.
Lenke: getBBox() i SVG v1.1-standarden.
Svar #2
document.getElementById('yourTextId').getComputedTextLength();
virket for meg i
