1
在一個非常特殊的地方插入元素說我有以下的DOM結構:如何使用D3
div
> svg
> defs
> g
> rect
> g
> g
<-- I want to insert an element here
> g
> g
無父g
的孩子g
元素有一個類,ID,或其他任何東西我的可以用作選擇器,我不能修改它們,因爲它們來自加載到頁面中的第三方小部件。
到目前爲止我能做的最好的插入到第三個g
元素,但這是不可接受的。我想在父親g
的孩子中添加第六個元素,在當前指數2和3之間(或者如果您不計算rect
,則指數爲1和2)。
這是我迄今所做的:
var test = d3.selectAll('#continer svg > g > g');
test = d3.select(test[0][2]);
test.append('foreignObject').
attr('width', 690).attr('height', 500)
.append('xhtml:body').style('font', '14px "Helvetica Neue"')
.html('<h1>An HTML Foreign Object in SVG</h1>');
有了,我結束了以下結構:
div
> svg
> defs
> g
> rect
> g
> g
> g
> foreignobject & its children inserted here
> g
...我明白爲什麼。我曾嘗試D3的insert
方法使用函數作爲第二個參數指定before
,但瀏覽器不斷告訴我:
試圖在它不存在 的上下文中引用Node。