我想知道为什么 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>
有关完整示例,请参阅此 fiddle :http://jsfiddle.net/7kWDK/
最佳答案
命名空间属性仅在文档作为某种 XML mime 类型提供时才相关,例如图片/svg+xml.
命名空间不会在 html 标记中执行任何操作,例如 jsfiddle,因此 d3 不需要创建它们。
如果您需要命名空间,那么您可以在 html 中手动添加属性,或者切换到 xhtml,其中将自动创建属性。
关于javascript - d3 不会将命名空间属性附加到 svg 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24612067/