繁体   English   中英

JavaScript创建HTML <object> svg

[英]javascript create html <object> for svg

我想做这个:

<object type="image/svg+xml" id="tornado5" data="bitmaps/tornado2.svg">
</object>

但我想在JavaScript中动态地执行此操作...

var object2 = document.createElement("object");
object2.type = "image/svg+xml";
object2.data = 'bitmaps/tornado2.svg';
object2.id = "tornado5";
document.getElementById('objLayer').appendChild(object2);  // no .onload method

var ele=document.getElementById("tornado5");
var links = ele.contentDocument.getElementsByClassName('myClass'); //paths in file use
for (var i=0;i<links.length;i++){ links[i].style.fill="#00ff00"; } 

顶部的html方式可以在底部调用3-line-js-color-mod,它将修改svg的颜色。 但是,如果我以js方式加载svg,则svg会加载,但是color mod无法正常工作。 (您不能通过img修改contentDocument,只能通过告诉我的对象进行修改)。

问题11374059提出了类似的问题,并被告知要使用img。 这里不好

我建议使用Object.setAttribute(attr,val); 在对象标签上。 即:

var object2 = document.createElement("object");
object2.setAttribute("type", "image/svg+xml");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM