我使用的是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上使用javscript更改文本呢?
谢谢
发布于 2010-11-26 11:13:25
SVG节点没有innerHTML属性(它们不是超文本标记语言)。
改用textContent:t.node.textContent='dddd'
发布于 2019-02-12 13:37:07
我可以通过设置<text>
元素的textContent属性来实现这一点。如果您知道元素的ID,这将使它变得更容易。
document.getElementById("id-of-text-el").textContent = "My Value";
发布于 2016-07-10 02:55:21
如果svg文本的代码如下所示:
<text id="id-of-the-text"> old value</text>
如果您使用的是JQuery,请尝试执行以下操作:
$("#id-of-the-text").text("new-value");
https://stackoverflow.com/questions/4282108
复制相似问题