与 d3 一起放置的 Svg-foreignObject 不呈现

Geo*_*uer 2 html svg d3.js

在这里查看我的 jsbin

我想要一些换行文字。根据这篇文章建议,我创建了一个 foreignObject 并在它后面附加了一个“p”元素。

我的文字根本不显示。

现在,当我在标记中执行完全相同的操作时,它会显示(我只是将生成的 svg 代码放入 svg 主体中)。

哎呀,如果我正确转到 devtools,右键单击 svg,选择“编辑为 html”并在右</svg>大括号前插入一个新行,我的文本就会显示出来。

是什么赋予了?

Rob*_*son 5

代替

 .append('p')
    .attr('xmlns', 'http://www.w3.org/1999/xhtml')
Run Code Online (Sandbox Code Playgroud)

.append('xhtml:p')
Run Code Online (Sandbox Code Playgroud)

在 javascript 中创建节点时,命名空间是特殊的东西,不能被视为属性。d3 使用上述语法来应对。