This is because jQuery (which uses AngularJS under the hood) does not know how to create svg elements. You can get around this by adding a link function to a directive that clones the created element but creates it in the SVG namespace.
, SVG ( ), , .
module.directive(
'svgText',
function () {
return {
restrict: 'E',
template: '<svg xmlns="http://www.w3.org/2000/svg"><text fill="green" x="4" y="20" font-weight="bolder" font-size="2" font-family="Arial">89</text></svg>',
replace: true,
link: function (scope, elem, attrs) {
var child = angular.element(elem[0].firstElementChild);
for (attrName in attrs) {
if(typeof attrs[attrName] === "string") {
child.attr(attrName, attrs[attrName]);
}
}
elem.replaceWith(child );
}
};
}
);
AngularJS + SVG, .
http://www.codeproject.com/Articles/709340/Implementing-a-Flowchart-with-SVG-and-AngularJS