首页 > 解决方案 > 更改 svg 元素中的字符串(文本元素)

问题描述

我只是在玩一些 svg 绘图。实际上我有一个 svg 绘图,其中包含一些分组元素。我喜欢复制这些元素之一,并在其文本字段中为其赋予新值。

首先我复制元素:

var selectedSymbol = document.getElementsByClassName('selected');
if(selectedSymbol.length >>0)
{
    var newSymbol = selectedSymbol[0].cloneNode(true);
    //now Change Information of <text id='BMK'>emptyBMK</text>
}

当然,每个分组的符号都有这个文本字段,具有相同的 id,所以我认为我只需要在选定的符号中更改它,但 newSymbol.getElementsById('BMK') 不起作用:(

标签: javascriptsvg

解决方案


好的,我做到了,但我不确定这是否是一个好习惯:

for (var x = 0; x < newSymbol.childElementCount; x++)
{
    if(newSymbol.Children[x].id == "BMK")
        newSymbol.children[x].innerHTML = "newBMK";
}

有人可以告诉我这是否可以?
我的意思是它有效,但对我来说似乎有点奇怪。


推荐阅读