あなたは色を設定するsetAttribute
の代わりsetAttributeNS
を使用することができます。例えば
:テキスト要素のinnerHTML
プロパティを使用して、テキストの色付けを行うための別の方法について
<script>
var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute('style', 'border: 0px solid black');
svg.setAttribute('width', '600');
svg.setAttribute('height', '250');
//Text
var newText = document.createElementNS("http://www.w3.org/2000/svg","text");
newText.setAttributeNS(null,"x",20);
newText.setAttributeNS(null,"y",100);
newText.setAttribute('style', 'font-size:24px');
//Text span
var txtSpan1 = document.createElementNS("http://www.w3.org/2000/svg","tspan");
txtSpan1.textContent = "Eins";
newText.appendChild(txtSpan1);
//Text span with color
var txtSpan2 = document.createElementNS("http://www.w3.org/2000/svg","tspan");
txtSpan2.textContent = "t";
txtSpan2.setAttribute('style', 'fill:green');
newText.appendChild(txtSpan2);
//Text span without color
var txtSpan3 = document.createElementNS("http://www.w3.org/2000/svg","tspan");
txtSpan3.textContent = "e";
newText.appendChild(txtSpan3);
var txtSpan4 = document.createElementNS("http://www.w3.org/2000/svg","tspan");
svg.appendChild(newText);
document.body.appendChild(svg);
</script>
jsFiddle。