Javascript 如何更改SVG文本的值?
我有一个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
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指定一个数值。在这种情况下,数字值将自动转换为字符串值。