【发布时间】:2016-05-10 08:29:38
【问题描述】:
我有一个包含一些 css 的 SVG。我想使用 javascript 更改此 SVG 中的 style 元素,但在 IE/Edge 中您不能;不能使用 .innerHTML 更改 style 元素。相反,您需要 .styleSheet.cssText,但我无法让它在我的 SVG 中工作。
这适用于非 IE 浏览器,获取和设置值:
var style = document.getElementById('example').contentDocument.querySelector("style");
style.innerHTML = style.innerHTML.replace('foo', 'bar')
SVG(简化):
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 540 494.08">
<defs>
<style id="SvgStyleSheet">
.someClass{}
</style>
<!-- Some more definitions -->
</defs>
<!-- SVG elements here -->
</svg>
如何在这个 SVG 中获取和设置样式?
【问题讨论】:
标签: javascript jquery svg stylesheet