javascript
  • svg
  • raphael
  • 2010-11-26 5 views 15 likes 
    15

    j'utilisais raphaeljs, et je veux montrer html (texte non seulement) dans svg,comment changer balise de texte svg utilisant javascript innerHTML

    donc j'utiliser ce code:

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

    mais je i cant il console modifier le contenu du svg, donc dans firebug,

    console.log(t.node) 
    

    il montre ceci:

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

    donc comment changer le texte en utilisant javscript sur svg

    grâce

    Répondre

    50

    noeuds SVG ne sont pas une propriété innerHTML (ils ne sont pas HTML).

    Utilisation textContent à la place: t.node.textContent='dddd'

    +0

    merci, et comment changer le texte en html ?? ex: ajouter

    ddd
    à t.node – zjm1126

    +0

    Vous aurez probablement besoin de quelque chose comme ça (ce deuxième exemple est fou!): http://ajaxian.com/archives/foreignobject-hey-youve-got-html-in-my-svg – Zecc

    +0

    Ceci est également pertinent: http://stackoverflow.com/questions/4118769/native-button-tag-inside-svg-canvas/4120189#4120189 – jbeard4

    2

    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"); 
    
    Questions connexes