我正在嘗試僅在頁面加載時或之後創建SVG標記結構。如何使用javascript或jquery動態添加SVG圖形?
這個請求可能看起來很奇怪,但這是必須的,因爲大多數的html標記都是由編譯的創作軟件應用程序生成的,所以我不能篡改它。我只能根據需要「注入」javascript來創建其他資產(例如:Div)。
請參閱下面的標記。如果我手動將SVG標記在目標位置,頁面和SVG渲染正確[HTML標記的部分已經爲清楚起見,省略]
<html>
....
<script>
function run() {
var newSvg = document.getElementById('myDiv');
newSvg.outerHTML+='<svg style="position:absolute;z-index:10;margin:0;padding:0;top:0em;left:0.5em" onclick="go()" width="100" height=100><circle cx="400" cy="400" r="40" stroke="red" stroke-width="4" fill="blue" />';
}
</script>
<body>
....
<div id="myDiv"></div>
....
<script>
run();
</script>
</body>
</html>
。如果我嘗試動態創建標記,我什麼也得不到。
當我在頁面加載後查看html源代碼時,沒有應該由函數創建的SVG標記。
我已經嘗試通過<body onLoad="run()">
事件做,但它也不起作用。
注意:當我需要動態創建一個新的DIV時,此函數工作正常。
我在做什麼錯?在此先感謝所有人。
我剛編輯我更多一些信息的回答,請看看是否適合您。 – t1nr2y
你在嘗試使用什麼瀏覽器? Safari和IE不支持使用outerHTML創建SVG內容。 –
這是在IE(項目需求),但我很沮喪,它現在不適用於Firefox。我在IE上工作(我認爲)。 我希望它能在IE和FF上工作。感謝提醒。 – MarkL