Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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 使用appendChild()在svg中放置文本_Javascript_Html_Css_Svg - Fatal编程技术网

Javascript 使用appendChild()在svg中放置文本

Javascript 使用appendChild()在svg中放置文本,javascript,html,css,svg,Javascript,Html,Css,Svg,我试图使用appendChild()方法在SVG中插入文本。我需要将此方法用于我正在编写的实际代码 在所附的代码中,您会发现我正在尝试使用appendChild()方法在SVG中编写字符串“你好吗?”。但是它不显示。我使用Chrome开发者工具检查了执行情况,myTextElement和myText实际上是在代码中执行的。不过,我不明白为什么它没有被显示出来。你能帮忙吗 var mysvg=document.getElementById(“mysvg”) var myTextElement=d

我试图使用
appendChild()
方法在SVG中插入文本。我需要将此方法用于我正在编写的实际代码

在所附的代码中,您会发现我正在尝试使用
appendChild()
方法在SVG中编写字符串“你好吗?”。但是它不显示。我使用Chrome开发者工具检查了执行情况,
myTextElement
myText
实际上是在代码中执行的。不过,我不明白为什么它没有被显示出来。你能帮忙吗

var mysvg=document.getElementById(“mysvg”)
var myTextElement=document.createElement(“文本”);
var myText=document.createTextNode(“你好吗?”)
myTextElement.appendChild(myText);
appendChild(myTextElement)
圆圈{
填充不透明度:0.5;
笔画宽度:4;
填充:#3080d0;
行程:#3080d0;
不透明度:0.6;
}

你好

在我看来,
中的
元素需要
x
y
属性来显示文本(否则它们将默认为
0
)。您可以在
中设置文本元素的属性:

我确信这些值不是您想要的,但是它们应该允许您查看插入的元素


要删除的另一个错误源-我将在
元素末尾之前添加
标记,而不是在
中。我不确定,但是如果脚本元素在哪里,那么在脚本运行时可能不会定义与
对应的DOM元素。

在我看来,
中的
元素需要
x
y
属性来显示文本(否则它们将默认为
0
)。您可以在
中设置文本元素的属性:

我确信这些值不是您想要的,但是它们应该允许您查看插入的元素


要删除的另一个错误源-我会在
元素末尾之前添加
标记,而不是在
中。我不确定,但如果脚本元素位于何处,则在脚本运行时可能不会定义与
对应的DOM元素。

<
text
用于演示

var mysvg=document.getElementById(“mysvg”);
var myTextElement=document.createElements(“http://www.w3.org/2000/svg“,”文本“);
var myText=document.createTextNode(“你好吗?”);
setAttribute(“x”,“0”);
setAttribute(“y”,“110”);
setAttribute(“填充”、“蓝色”);
setAttribute(“字体系列”、“Verdana”);
setAttribute(“字体大小”,“55”);
myTextElement.appendChild(myText);
mysvg.appendChild(myTextElement);
圆圈{
填充不透明度:0.5;
笔画宽度:4;
填充:#3080d0;
行程:#3080d0;
不透明度:0.6;
}

你好

改进了演示用
文本的定位

var mysvg=document.getElementById(“mysvg”);
var myTextElement=document.createElements(“http://www.w3.org/2000/svg“,”文本“);
var myText=document.createTextNode(“你好吗?”);
setAttribute(“x”,“0”);
setAttribute(“y”,“110”);
setAttribute(“填充”、“蓝色”);
setAttribute(“字体系列”、“Verdana”);
setAttribute(“字体大小”,“55”);
myTextElement.appendChild(myText);
mysvg.appendChild(myTextElement);
圆圈{
填充不透明度:0.5;
笔画宽度:4;
填充:#3080d0;
行程:#3080d0;
不透明度:0.6;
}

你好

See,你需要一个有效的名称空间。谢谢,瓦迪姆和亚当。在过去的36个小时里,我一直在绞尽脑汁。看,你需要一个有效的名称空间。谢谢,瓦迪姆和亚当。我在过去的36个小时里绞尽脑汁。
myTextElement.setAttribute('x', '20');
myTextElement.setAttribute('y', '20');