我一直在与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验证器验证了两个版本,所以看起来似乎是这样,但任何人都可以澄清这一点,让我高枕无忧吗?
答案 0 :(得分:2)
SVG是一种XML语言,XML <x></x>
与<x/>
完全相同。 Per the XML specification
空元素标签可用于任何没有内容的元素,无论是否使用关键字EMPTY声明