要保留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);
答案 0 :(得分:4)
你几乎就在那里。您需要在xml名称空间中正确创建需要setAttributeNS而不是setAttribute
的属性text.node.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");