如何使用javascript innerHTML更改svg文本标记
我使用的是raphaeljs,我想在svg中显示html(不仅仅是文本) 所以我使用这个代码:如何使用javascript innerHTML更改svg文本标记,javascript,svg,raphael,Javascript,Svg,Raphael,我使用的是raphaeljs,我想在svg中显示html(不仅仅是文本) 所以我使用这个代码: var r = Raphael("holder", 200, 300); var t = r.text(10, 10, "ssdwqdwq"); t.node.innerHTML='dddd' 但是我不能更改svg的内容,所以我在firebug中对其进行了控制台 console.log(t.node) 它表明: <text x="10" y="13.5" text-anchor="middl
var r = Raphael("holder", 200, 300);
var t = r.text(10, 10, "ssdwqdwq");
t.node.innerHTML='dddd'
但是我不能更改svg的内容,所以我在firebug中对其进行了控制台
console.log(t.node)
它表明:
<text x="10" y="13.5" text-anchor="middle" style="font: 10px "Arial";" font="10px "Arial"" stroke="none" fill="#000000">
那么如何在svg上使用javscript更改文本呢
谢谢,SVG节点没有innerHTML属性(它们不是HTML)
改为使用textContent:
t.node.textContent='dddddd'
如果svg文本的代码如下所示:
<text id="id-of-the-text"> old value</text>
我可以通过设置
元素的textContent属性来实现这一点。如果您知道元素的ID,那么就更容易了
document.getElementById("id-of-text-el").textContent = "My Value";
谢谢,如何将文本更改为html??例如:将dddto添加到t.nodeYou可能需要这样的东西(第二个例子很疯狂!):这也很相关:
document.getElementById("id-of-text-el").textContent = "My Value";