webentwicklung-frage-antwort-db.com.de

wie man den svg-text-tag mit javascript innerHTML ändert

ich habe raphaeljs verwendet und ich möchte html (nicht nur text) in svg zeigen,

also benutze ich diesen code:

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

aber ich kann den svg-inhalt nicht ändern, also tröste ich ihn in firebug,

console.log(t.node)

es zeigt dies:

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

so kann man den Text mit javscript für svg ändern 

vielen Dank

20
zjm1126

SVG-Knoten haben keine innerHTML-Eigenschaft (sie sind kein HTML). 

Verwenden Sie stattdessen textContent: t.node.textContent='dddd'

64
Zecc

wenn der Code für den SVG-Text folgendermaßen lautet:

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

wenn Sie JQuery verwenden, versuchen Sie Folgendes:

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

Ich konnte dies erreichen, indem ich die textContent -Eigenschaft des <text>-Elements festlegte. Macht es viel einfacher, wenn Sie die ID des Elements kennen.

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