Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript svg:svg的含义是什么?_Javascript_Xml_Svg_D3.js - Fatal编程技术网

Javascript svg:svg的含义是什么?

Javascript svg:svg的含义是什么?,javascript,xml,svg,d3.js,Javascript,Xml,Svg,D3.js,这是什么意思 .append("svg:svg") 我在HTML和D3代码中看到了它。它是否添加了SVG插件?在XHTML代码中,可以使用名称空间来区分网页中包含的其他基于XML的语言。在这里,名称空间“svg”在标记“svg”之前使用 如果两个标记(例如,在XHTML和SVG中)具有相同的名称,并且您希望精确指定所引用的标记,那么这将非常有用。可以使用xmlns属性指定标记。正如您所知,XHTML文档以 <html xmlns="http://www.w3.org/1999/xhtml

这是什么意思

.append("svg:svg")

我在HTML和D3代码中看到了它。它是否添加了SVG插件?

在XHTML代码中,可以使用名称空间来区分网页中包含的其他基于XML的语言。在这里,名称空间“svg”在标记“svg”之前使用

如果两个标记(例如,在XHTML和SVG中)具有相同的名称,并且您希望精确指定所引用的标记,那么这将非常有用。可以使用
xmlns
属性指定标记。正如您所知,XHTML文档以

<html xmlns="http://www.w3.org/1999/xhtml">

您可以将前缀指定为

<html xmlns:prefix="http://www.w3.org/1999/xhtml">

然后你将使用

<prefix:head>
    <prefix:title></prefix:title>
</prefix:head>

同样,你可以使用

<svg xmlns="http://www.w3.org/2000/svg">


而不是在包含svg图形时仅使用
。然后,所有svg标记都将以
svgprefix
前缀开头。但是,如果您有子SVG节点,它们还需要定义这个
xmlns
属性。在这种情况下,定义前缀可能会更容易。

来自以下文档:

元素的标记名可能具有名称空间前缀,例如“svg:text”,以在svg名称空间中创建“text”元素。默认情况下,D3支持svg、xhtml、xlink、xml和xmlns名称空间。可以通过添加到来注册其他名称空间

请特别注意,D3.js中的名称空间前缀不是基于您的文档,而是一个预定义的通用前缀到实际名称空间URL的映射。

名称空间是XML文档(包括XHTML但不包括HTML)可以包含两个同名属性或元素的方式(例如,数学正弦计算中的“sin”与道德失败中的“sin”)而不会产生冲突。在XHTML文档中放置
元素没有任何意义,除非SVG元素位于


有关更多信息,请阅读

被否决的;尽管这些信息正确且相关,但OP的问题与D3.js中具有特定应用程序的JavaScript字符串有关,而不是XML标记。@Phrogz我不同意。提出了一个问题:“什么是svg:svg?”我准确地回答了这个问题,是什么导致这个答案被接受的。Op说他们在D3和HTML代码中看到了它,而不是像你们所暗示的那个样仅仅是D3。在我看来,op似乎知道
append
函数获取标记名,只是不知道
svg:svg
是什么类型的标记名,猜测它是一个svg插件。你也不能说这是一个JS问题,因为这个问题没有标记为
JavaScript
。我尊重你的不同意见。:)对我来说,有问题的代码
.append(“svg:svg”)
加上对D3.js的提及,显然是一个编码问题。然而,考虑到你在HTML中看到它的优点,我将删除我的否决票。为了记录在案,从2011年11月23日起,d3中的名称空间是可选的
<svg xmlns="http://www.w3.org/2000/svg">