Property getBBox does not exist on type SVGElement
Not all SVG elements have bounding boxes, <defs>
for instance doesn't, neither does <title>
, so yes SVGElement is the wrong type to use. You want SVGGraphicsElement
Instead of SVGElement
, SVGSVGElement
is the correct type to use for accessing <svg>
elements, where getBBox()
method is available as well because of the inheritance from SVGGraphicsElement
.
(d3Selection.node() as SVGSVGElement).getBBox()
Or if d3Selection
is defined as
let d3Selection: D3.Selection<SVGSVGElement, {}, HTMLElement, any>d3Selection.node().getBBox()
could be directly into usage.