Html 将样式应用于导入的SVG

Html 将样式应用于导入的SVG,html,css,svg,Html,Css,Svg,我有一个数据库,它输出一个对象,其中引用了一个SVG。在这个SVG中,我有一个外部样式表,我想做的是引用这个SVG导入的样式表中的类,这样我就可以适当地为图标着色 目前,它似乎根本无法识别对象的类别,我想知道这是否可能 或者,是否有任何方法可以将动态命名的id或类应用于通过对象导入的部分svg代码,然后使用样式表引用这些代码 以下是HTML的一个片段: <object class="getFit" type="image/svg+xml" data="../images/well-bein

我有一个数据库,它输出一个对象,其中引用了一个SVG。在这个SVG中,我有一个外部样式表,我想做的是引用这个SVG导入的样式表中的类,这样我就可以适当地为图标着色

目前,它似乎根本无法识别对象的类别,我想知道这是否可能

或者,是否有任何方法可以将动态命名的id或类应用于通过对象导入的部分svg代码,然后使用样式表引用这些代码

以下是HTML的一个片段:

<object class="getFit" type="image/svg+xml" data="../images/well-being/imageurl">
Your browser does not support SVG</object>

使用对象时,内容仅限于其文档

你想做的事情更复杂。 但这是可能的。
如果每个图标都有一个css文件,那么在加载svg文档时,可以使用javascript将样式表添加到svg文档中

var svgobject = document.getElementsByClassName(".getFit");
for (var i=0; i<svgObject.length; i++)     
    var svgDoc = svgObject[i].contentDocument;
    var linkElm = svgDoc.createElementNS("http://www.w3.org/1999/xhtml", "link");
    linkElm.setAttribute("href", "getFitStyle.css");
    linkElm.setAttribute("type", "text/css");
    linkElm.setAttribute("rel", "stylesheet");
    svgDoc.getElementById("where-to-insert").appendChild(linkElm);
}
var svgobject=document.getElementsByClassName(“.getFit”);

对于(var i=0;iHi@persijn),我将试一试。我确实看了robert longson强调的问题,但我可能只是没有像我应该读的那样彻底。
@charset "utf-8";
/* CSS Document */

.getFit path, object.getFit circle
{
fill:#ff5000;
}

.eatWell path, object.eatWell circle
{
fill:#009F14;
}

.feelGood path, object.feelGood circle
{
fill:#ffc200;
}
var svgobject = document.getElementsByClassName(".getFit");
for (var i=0; i<svgObject.length; i++)     
    var svgDoc = svgObject[i].contentDocument;
    var linkElm = svgDoc.createElementNS("http://www.w3.org/1999/xhtml", "link");
    linkElm.setAttribute("href", "getFitStyle.css");
    linkElm.setAttribute("type", "text/css");
    linkElm.setAttribute("rel", "stylesheet");
    svgDoc.getElementById("where-to-insert").appendChild(linkElm);
}