我想知道为什么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/
答案 0 :(得分:1)
命名空间属性仅在将文档作为某种XML mime类型提供时才相关,例如图像/ SVG + XML。
命名空间不会在html标记中执行任何操作,例如jsfiddle,因此d3不需要创建它们。
如果您需要名称空间,那么您可以在html中手动添加属性,或者切换到xhtml,其中将自动创建属性。