如何在svg文本中保留空格

时间:2014-08-18 10:58:44

标签: svg snap.svg

要保留svg的textelement中的空格,应使用'xml:space =“preserve”'作为文本(jsfiddle)的属性。但是,它不起作用。我做错了什么?

    // init snap
    var svgElement=document.getElementById("mainSvgId");
    var s = Snap(svgElement).attr({height: 300, width: 300});

    // greate group with rectanle
    var parentGroup=s.g().attr({id: "parent"});
    var rect1 = s.rect(0, 0, 200, 200).attr({fill: "#bada55"});
    parentGroup.add(rect1);

    // add text with preserve attribute
    var text = s.text(0, 20, "   text1    text2");
    text.node.setAttribute("xml:space", "preserve");
    parentGroup.add(text);

1 个答案:

答案 0 :(得分:4)

你几乎就在那里。您需要在xml名称空间中正确创建需要setAttributeNS而不是setAttribute

的属性
text.node.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");