我需要一种方法来 1)嵌入带有 PNG 后备的 SVG,2)在外部样式表中使用 CSS 来设置 SVG 某些部分的颜色样式,而 3)不使用 jQuery。
背景:
在工作中,我们跨多个网站链接到我们服务器上的相同资源,因此如果我们对资源进行更新,我们不必在 20 个站点上单独更新它。使用外部样式表,因此我们可以使资源(在本例中为 SVG)模仿我们放置它的任何网站的主题。
我的解决方案:
我最初是用 jQuery 做的,但后来我的老板告诉我们需要一个简单的 JS 解决方案,因为他不想在我们拥有的一些旧网站上加载 jQuery(这对我来说听起来很傻,但是我不是老板)。
我使用的原始解决方案:
- http://www.noupe.com/tutorial/svg-clickable-71346.html(解决方案 3a.)用于 SVG 后备,以及
如何使用 CSS(jQuery SVG 图像替换)更改 SVG 图像的颜色?用于嵌入 SVG。
<a href="link-to-another-page" > <img class="svg" src="awesome.svg" alt="An awesome SVG" width="186" height="235" onerror="this.removeAttribute('onerror'); this.src='not-as-awesome.png'" /> </a> <!--followed by the jQuery code in item #2-->
它工作得很好,但使用 jQuery。我是一个 JS 初学者,所以尝试将 jQuery 代码转换为常规 JS 对我来说太混乱了。
任何建议都会有所帮助,但就像我说的,这需要:
- 可点击
- 不使用 jQuery
- 允许在外部样式表中使用 SVG 样式