2

在这里查看我的 jsbin

我想要一些包装文字。根据这篇文章的建议,我创建了一个 foreignObject 并附加了一个 'p' 元素。

我的文字根本不显示。

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

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

是什么赋予了?

4

1 回答 1

5

代替

 .append('p')
    .attr('xmlns', 'http://www.w3.org/1999/xhtml')

.append('xhtml:p')

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

于 2013-01-04T21:50:50.780 回答