d3不会将命名空间属性附加到svg元素

时间:2014-07-07 13:44:26

标签: javascript svg d3.js

我想知道为什么D3.js不会将命名空间属性添加到SVG元素。

d3.ns.prefix.ex = 'http://example.com/';
var chart = d3.select('#chart').append('svg:svg');

我认为输出应该是这样的:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:ex="http://example.com/">

实际上只是

<svg>

请参阅此小提琴以获取完整示例:http://jsfiddle.net/7kWDK/

1 个答案:

答案 0 :(得分:1)

命名空间属性仅在将文档作为某种XML mime类型提供时才相关,例如图像/ SVG + XML。

命名空间不会在html标记中执行任何操作,例如jsfiddle,因此d3不需要创建它们。

如果您需要名称空间,那么您可以在html中手动添加属性,或者切换到xhtml,其中将自动创建属性。