web-dev-qa-db-fra.com

comment changer la balise de texte svg en utilisant javascript innerHTML

j'utilisais raphaeljs, et je veux montrer html (pas seulement du texte) en svg,

donc j'utilise ce code:

var r = Raphael("holder", 200, 300);
var t = r.text(10, 10, "ssdwqdwq");
t.node.innerHTML='dddd'

mais je ne peux pas changer le contenu du svg, donc je le console dans firebug,

console.log(t.node)

cela montre ceci:

<text x="10" y="13.5" text-anchor="middle" style="font: 10px "Arial";" font="10px "Arial"" stroke="none" fill="#000000">

alors comment changer le texte en utilisant javscript sur svg 

merci

20
zjm1126

Les nœuds SVG n'ont pas de propriété innerHTML (ils ne sont pas HTML). 

Utilisez plutôt textContent: t.node.textContent='dddd'

64
Zecc

si le code pour le texte svg est comme ceci:

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

si vous utilisez JQuery, essayez ceci:

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

Pour ce faire, j'ai défini la propriété textContent de l'élément <text>. Cela rend beaucoup plus facile si vous connaissez l'ID de l'élément.

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