Очень быстрое решение для динамического стиля с внешней таблицей стилей CSS, если вы используете тэг <object>
для вставки вашего svg.
В этом примере добавится класс к корню <svg>
при нажатии на родительский элемент.
file.svg:
<?xml-stylesheet type="text/css" href="../svg.css"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="">
<g>
<path/>
</g>
</svg>
html:
<a class="parent">
<object data="file.svg"></object>
</a>
JQuery:
$(function() {
$(document).on('click', '.parent', function(){
$(this).find('object').contents().find('svg').attr("class","selected");
}
});
на родительском элементе click:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="" class="selected">
, тогда вы можете управлять своим css
svg.css:
path {
fill:none;
stroke:#000;
stroke-miterlimit:1.41;
stroke-width:0.7px;
}
.selected path {
fill:none;
stroke:rgb(64, 136, 209);
stroke-miterlimit:1.41;
stroke-width:0.7px;
}