Preciso saber exatamente a largura e a altura de um gelemento arbitrário no meu, SVGporque preciso desenhar um marcador de seleção ao redor dele depois que o usuário clicar nele.
O que eu vi na internet é algo como: d3.select("myG").style("width"). O problema é que o elemento nem sempre terá um atributo explícito de largura definido. Por exemplo, quando eu criar um círculo dentro do g, ele terá o radious ( r) definido em vez da largura. Mesmo se eu usar o window.getComputedStylemétodo em a circle, ele retornará "auto".
Existe uma maneira de calcular a largura de uma svgseleção arbitrária D3?
Obrigado.
getBoundingClientRect()vez do somente SVGgetBBox(). Assim:d3.select("body").node().getBoundingClientRect().width