2016-05-06 13 views
1

私はこのコードを使ってsvgをdivタグに挿入しています。javascriptを使ってsvgを追加するには?

var container = document.getElementById("div_id"); 
var svg = document.createElement("svg"); 
svg.setAttribute("width",container.clientWidth); 
svg.setAttribute("height",container.clientHeight);  
container.appendChild(svg); 

ブラウザの開発者ツールを使用して確認すると、div内にsvgが存在します。しかし、私は開発ツールのsvgにカーソルを合わせると、幅と高さの属性が500と400に設定されていても「svg 0 * 0」が表示されています。私はsvg内に見える行をsvgに挿入しようとしましたが、ブラウザには表示されませんでした。助けが必要。

+1

[あなたのコードはうまくいくようです](Firefoxを使用しています) – Pointy

+0

[WebKitを再描画/再描画してスタイルの変更を反映させるにはどうすればいいですか? (http://stackoverflow.com/questions/3485365/how-can-i-force-webkit-to-redraw-repaint-to-propagate-style-changes) – Sumurai8

答えて

2

あなたのSVGを作成するために使用する

var svg = document.createElementNS("http://www.w3.org/2000/svg",'svg'); 

。要素にも同様に使用します。

var circle = document.createElementNS("http://www.w3.org/2000/svg",'circle'); 

通常の要素と同じように機能します。

+0

重複した質問に記載されているように... – Sumurai8

+0

リンクあなたが提供した問題は具体的には隠されていません(それはそこに隠されています)。この情報を検索したり質問する方法は明白ではありません。私の30秒が彼に何かを教えてくれると確信しても、投票に値することはほとんどありません。 – Wainage

+0

@Wainage作成する必要があるすべての要素に対して 'createElementNS'を使用する必要がありますか、またはその要素の ''と 'createElement'に対してのみ使用する必要があります。 –

関連する問題