I\'ve run into this problem a lot with D3. A lot of the time I like to overlay HTML objects over my SVG.
My current strategy is creating an empty DIV next to the SV
did you try
var xywh =element[0][0].getBoundingClientRect();
seems to have everything in it? (original soution is in this post)