如何使用JavaScript innerHTML来改变SVG的文本标签

问题描述 投票:21回答:3

我使用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="middle" style="font: 10px "Arial";" font="10px "Arial"" stroke="none" fill="#000000">

所以如何使用SVG的JavaScript的更改文本

谢谢

javascript svg raphael
3个回答
65
投票

SVG节点没有innerHTML属性(他们不是HTML)。

使用的textContent代替:t.node.textContent='dddd'


3
投票

如果对SVG的文本的代码是这样的:

<text id="id-of-the-text"> old value</text>

如果你正在使用JQuery试试这个:

$("#id-of-the-text").text("new-value");

1
投票

我能够通过设置<text>元素的textContent属性来实现这一点。如果你知道该元素的ID使得它容易得多。

document.getElementById("id-of-text-el").textContent = "My Value";
© www.soinside.com 2019 - 2024. All rights reserved.