私のタイトルと同じように、私はJavaScriptを使ってHTMLページにSVG画像要素をプログラムで作成しようとしています。何らかの理由で私の基本的なjavascriptコードは動作しませんが、私がraphaeljsライブラリを使用するとうまく動作します。だから明らかに私のjsに問題があります - 私はちょうどそれが何であるか把握していないようです。JavaScriptでSVG画像要素をプログラムで作成する
(注:ターゲットブラウザはFF4 +である)
ここでは、私がトップを達成しようとしているもののHTMLバージョンと基本的なページです:
<html>
<head>
<script type="text/javascript" src="http://raphaeljs.com/raphael.js"></script>
</head>
<body>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
id="test1"
height="200px"
width="200px">
<image
id="testimg1"
xlink:href="http://i.imgur.com/LQIsf.jpg"
width="100"
height="100"
x="0"
y="0"/>
</svg>
<hr />
<p id="testP1">
</p>
<hr />
<p id="testP2">
</p>
</body>
</html>
そして、ここに私のですジャバスクリプト:
var paper = Raphael(document.getElementById("testP1"), 200, 200);
paper.image("http://i.imgur.com/LQIsf.jpg", 0,0, 100, 100);
var svg = document.createElementNS('http://www.w3.org/2000/svg','svg');
svg.setAttributeNS('http://www.w3.org/2000/svg','xlink','http://www.w3.org/1999/xlink');
svg.setAttributeNS('http://www.w3.org/2000/svg','height','200');
svg.setAttributeNS('http://www.w3.org/2000/svg','width','200');
svg.setAttributeNS('http://www.w3.org/2000/svg','id','test2');
var svgimg = document.createElementNS('http://www.w3.org/2000/svg','image');
svgimg.setAttributeNS('http://www.w3.org/2000/svg','height','100');
svgimg.setAttributeNS('http://www.w3.org/2000/svg','width','100');
svgimg.setAttributeNS('http://www.w3.org/2000/svg','id','testimg2');
svgimg.setAttributeNS('http://www.w3.org/1999/xlink','href','http://i.imgur.com/LQIsf.jpg');
svgimg.setAttributeNS('http://www.w3.org/2000/svg','x','0');
svgimg.setAttributeNS('http://www.w3.org/2000/svg','y','0');
svg.appendChild(svgimg);
document.querySelector('#testP2').appendChild(svg);
ライブ例:http://jsfiddle.net/Yansky/UVFBj/5/
ああ、そうです。それをクリアしていただきありがとうございます。 :) – Yansky
ああ私の神、ありがとう。あなたは王様です! –
あなたは私の一日を救った。あなたは紳士であり学者である、と思う。 –