Javascript 如何更改SVG文本的值?

Javascript 如何更改SVG文本的值?,javascript,svg,Javascript,Svg,我有一个svg文本数组: var texts = []; //for svg text objects function create() { for(var i=0; i<6; i++) { var d = 10; var n = d-1; var text = document.createElementNS(NS, 'text'); var data = document.createTextNode(d); text.se

我有一个svg文本数组:

var texts = []; //for svg text objects

function create() {
  for(var i=0; i<6; i++) {
     var d = 10;
     var n = d-1;
     var text = document.createElementNS(NS, 'text'); 
     var data = document.createTextNode(d); 
     text.setAttributeNS(null, "id", "text"+i); 
     texts.push(text);
     var t = texts[i];
     document.getElementById('svgOne').appendChild(t); 
     change(n);
     d--;
  }
}

function change(n) {
   //change 
}
我不想使用其他js库。

有没有简单的方法来改变价值

要更改SVG文本元素中显示的文本,可以设置SVG文本元素的子文本节点的nodeValue。例如

var svgTextElement = document.getElementById("text1");
var textNode = svgTextElement.childNodes[0];
textNode.nodeValue = "New text.";
var text = document.createElementNS(NS, 'text'); 
var data = document.createTextNode(d);
text.appendChild(data);
请注意,您的代码没有将文本节点添加到svg文本元素中。您需要调用appendChild()方法。例如

var svgTextElement = document.getElementById("text1");
var textNode = svgTextElement.childNodes[0];
textNode.nodeValue = "New text.";
var text = document.createElementNS(NS, 'text'); 
var data = document.createTextNode(d);
text.appendChild(data);

我可以textNode.nodeValue=n?您可以为nodeValue指定一个数值。在这种情况下,数字值将自动转换为字符串值。