Estoy trabajando en algunos ECMAScript/JavaScript para un archivo SVG y necesito obtener width
y height
de un elemento text
para que pueda cambiar el tamaño de un rectángulo que lo rodea. En HTML, podría utilizar los atributos offsetWidth
y offsetHeight
en el elemento, pero parece que esas propiedades no están disponibles.SVG obtener ancho de elemento de texto
Aquí hay un fragmento con el que necesito trabajar. Necesito cambiar el ancho del rectángulo cada vez que cambio el texto, pero no sé cómo obtener el width
real (en píxeles) del elemento text
.
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>
¿Alguna idea?
Gracias. También encontré otra función que podría haber ayudado con el ancho. textElement.getComputedTextLength(). Voy a probar ambas esta noche y ver cuál funciona mejor para mí. – spudly
Estaba jugando con estos la semana pasada; el método getComputedTextLength() devolvió el mismo resultado que getBBox(). ancho para las cosas que probé, así que simplemente fui con el cuadro delimitador, ya que necesitaba ancho y alto. No estoy seguro de que existan circunstancias en las que la longitud del texto sea diferente del ancho: creo que tal vez se proporcione ese método para ayudar con el diseño del texto, como dividir el texto en varias líneas, mientras que el cuadro delimitador es un método genérico disponible en todos los elementos (?) – NickFitz
El enlace a 'getBox()' se ha movido a http://wiki.svg.org/index.php/GetBBox – RobM