我正在尝试在SVG中定义自己的命名空间,因此我可以使用自己的标记和属性。如果我理解correctly,SVG应如下所示:
<svg xmlns:myns="http://www.example.com/whatever/">
<g myns:mycustomattr="123">
...
我正在通过D3添加根SVG元素,但是使用attr
向其添加命名空间失败:
var svg = d3.select("#container")
.append("svg")
.attr('xmlns:myns', 'http://www.example.com/whatever/')
上面的代码导致: NamespaceError:尝试以对名称空间不正确的方式创建或更改对象
使用D3.js将命名空间添加到SVG的正确方法是什么?
答案 0 :(得分:5)
您只需设置d3.ns.prefix
即可d3.ns.prefix.myns = "http://www.example.com/whatever/";
然后使用它:
var svg = d3.select("#container")
.append("svg")
.attr('myns:someAttribute', 'some value');