2

我一直在使用 SVG 进行一些工作,并且一直在从头开始编写它并使用 javascript(包括 d3js)生成它。

我刚刚注意到的一件事是,当我在 javascript 中创建一个新元素时,即使用

    var pathNode = document.createElementNS(svgns,"path");
    var pathElement = svg.appendChild(pathNode);

生成的 HTML 是<path></path>. 我检查了很多 D3 演示,这也是 D3 生成 HTML 的方式。

在我读过的所有关于 SVG 的文档中,我从未见过任何提及以这种方式编写 SVG 元素的内容。浏览器是否同样对待这两者?在我测试过的所有浏览器中,SVG 显示正确,并且 W3C 验证器验证了这两个版本,所以看起来确实如此,但任何人都可以澄清这一点让我安心吗?

4

1 回答 1

2

SVG 是一种 XML 语言,在 XML<x></x>中与<x/>. 根据 XML 规范

空元素标签可用于任何没有内容的元素,无论它是否使用关键字 EMPTY 声明

于 2013-09-19T10:11:29.570 回答