Ho bisogno di conoscere esattamente la larghezza e l'altezza di un gelemento arbitrario nel mio SVGperché ho bisogno di disegnare un indicatore di selezione attorno ad esso una volta che l'utente ha cliccato su di esso.
Quello che ho visto in internet è qualcosa di simile: d3.select("myG").style("width"). Il problema è che l'elemento non avrà sempre un attributo di larghezza esplicito impostato. Ad esempio, quando creo un cerchio all'interno di g, avrà il radious ( r) impostato al posto della larghezza. Anche se utilizzo il window.getComputedStylemetodo su a circle, restituirà "auto".
C'è un modo per calcolare la larghezza di una selezione arbitraria svgin D3?
Grazie.
getBoundingClientRect()invece di SVG-onlygetBBox(). In questo modo:d3.select("body").node().getBoundingClientRect().width