Is it possible to append a div inside an SVG element?

Solution 1:

You can't append HTML to SVG (technically you can with foreignObject, but it's a rabbit hole). Furthermore, visible elements in SVG can't be nested, so elements such as circle, rect, path and such can't have children elements.

Solution 2:

I would also consider using <g> element as it serves similar purpose as <div> by grouping objects. More about it here.

Solution 3:

You are trying to append "rect" as well as "div" in the same line. Porbably that is where you are failing Check out these tutotials for D3... Its an amazing library based on SVG http://alignedleft.com/tutorials/d3/drawing-svgs/