How to append div tag into a SVG rect element?

后端 未结 1 1161
野的像风
野的像风 2021-01-25 06:50

I couldn\'t find a correct solution for this problem so I decided to write a new question.

I\'m not even sure that this is possible but I hope it is.

So here is

相关标签:
1条回答
  • 2021-01-25 07:25

    Unfortunately, it's not possible: you cannot append an HTML element to an SVG element.

    The only way for using a div (or a p, h1, li etc) in an SVG is by using foreignObject. In your code, something like this:

    <svg width="960" height="728" style="margin-left: 0px;">
    <g transform="translate(0,24)" style="shape-rendering: crispEdges;">
        <g class="depth">
            <g>
                <g>
                    <rect class="child" x="0" y="0" width="960" height="704" style="fill: rgb(192, 192, 192);">
                    </rect>
                    <foreignObject x="100" y="100" width="100" height="100">
    		    <div xmlns="http://www.w3.org/1999/xhtml" class="jstree">
                            <div>TestContent</div>
                        </div>
    	        </foreignObject>
                </g>
            </g>
        </g>
    </g>

    Notice that foreignObject comes after the rectangle, not inside it (as in your code). Also, notice that foreignObject does not work in IE: https://developer.mozilla.org/en/docs/Web/SVG/Element/foreignObject

    0 讨论(0)
提交回复
热议问题