Как изменить текстовый тег SVG, используя JavaScript InsideHTML - PullRequest
21 голосов
/ 26 ноября 2010

Я использовал Raphaeljs, и я хочу показать HTML (не только текст) в SVG,

, поэтому я использую этот код:

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">

так как изменить текст с помощью javscript на svg

спасибо

Ответы [ 3 ]

65 голосов
/ 26 ноября 2010

Узлы SVG не имеют свойства innerHTML (они не HTML).

Вместо этого используйте textContent: t.node.textContent='dddd'

3 голосов
/ 09 июля 2016

если код для текста svg такой:

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

если вы используете JQuery, попробуйте это:

$("#id-of-the-text").text("new-value");
1 голос
/ 12 февраля 2019

Мне удалось это сделать, установив свойство textContent элемента <text>. Делает это намного проще, если вы знаете идентификатор элемента.

document.getElementById("id-of-text-el").textContent = "My Value";
...