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

    yo estaba usando raphaeljs, y quiero mostrar HTML (no sólo texto) en SVG,cómo cambiar la etiqueta de texto SVG usando javascript innerHtml

    lo tanto, utilizar este código:

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

    pero no puede cambiar el contenido de la SVG, por lo que me consuelo en Firebug,

    console.log(t.node) 
    

    que muestran esto:

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

    así cómo cambiar el texto usando javscript en SVG

    gracias

    Respuesta

    50

    nodos SVG no tienen una propiedad innerHTML (que no son HTML).

    Uso textContent lugar: t.node.textContent='dddd'

    +0

    gracias, y cómo cambiar el texto a html ?? ej .: agregue

    ddd
    al t.node – zjm1126

    +0

    Probablemente necesite algo como esto (ese segundo ejemplo es una locura): http://ajaxian.com/archives/foreignobject-hey-youve-got-html-in-my-svg – Zecc

    +0

    Esto también es relevante: http://stackoverflow.com/questions/4118769/native-button-tag-inside-svg-canvas/4120189#4120189 – jbeard4

    2

    si el código para el texto SVG es así:

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

    si está utilizando jQuery intente esto:

    $("#id-of-the-text").text("new-value"); 
    
    Cuestiones relacionadas