11

我在一个 d3js 项目上工作,我看到了一些教程append("g")和其他教程,append("svg:g")但没有得到两者之间的区别。

4

2 回答 2

11

在 D3 的早期,svg:g由于 SVG 元素附加到 DOM 的方式,您需要使用语法。更高版本的 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 锚。

于 2013-07-11T15:14:20.907 回答
3

我得到了关于 d3js API 的答案,它是一个命名空间问题。在 svg:g 中,svg 是命名空间(可选)。我的错,对不起,我必须更好地阅读 API

于 2013-07-11T14:12:04.100 回答