我参与了一个d3js项目,我看到了append("g")
的一些教程和append("svg:g")
的其他教程,但两者之间没有区别。
答案 0 :(得分:10)
在D3的早期阶段,由于SVG元素附加到DOM的方式,您需要使用svg:g
语法。 D3的更高版本不需要这些“提示”来插入SVG元素,因此现在正确的方法是使用简单的g
。
这背后的技术细节相当沉闷,SVG需要命名空间,因此当您插入或操作SVG元素时,使用document.createElementNS('a', "http://www.w3.org/2000/svg)
白色纯HTML使用document.createElement('a')
。由于D3可以操纵SVG和HTML d3.append('svg:a')
,这是一种说法这是一个SVG锚。
答案 1 :(得分:3)
我得到了关于d3js API的答案,这是一个名称空间问题。在svg:g中,svg是命名空间(可选)。 我的错,对不起,我必须更好地阅读API