javascript - 使用 JS 更改 svg 的 css 填充

标签 javascript css svg fill

我正在尝试使用 JS 更改用 css 定义的 svg 填充颜色。由于某种原因,它不起作用。这是我的代码:

SVG 本身(简而言之):

<svg id="secondalert"><style>.cls-1{fill:#000000;}</style></svg>

和 JS 来定位和改变它:

function() {
    var svg_css = document.getElementsByClassName('.cls-1');

    if (random_value < 20) {
        svg_css.css({
            "fill": "#EF4136"
        });

    } else {
        svg_css.css({
            "fill": "#EF4136"
        });
    }
}

有些东西没有组合在一起,填充颜色保持黑色,因为它在样式标签中。 我做错了什么?

最佳答案

您可以使用 svg_css.style.fill = "#hexadecimal" 而不是使用 svg_css.css({"fill": "#hexadecimal"}) p>

而且,当您使用 getElementsByClassName 时,它会返回一个数组,而不是使用 getElementById 或选择数组中的元素:

svg_css = document.getElementsByClassName('.cls-1')[0];

关于javascript - 使用 JS 更改 svg 的 css 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45464364/

相关文章:

html - 防止 SVG 背景图像缩放

javascript - D3 xlink : "href" appends image fine on Google Chrome but not on Firefox

javascript - 将对象序列化为 JSON 而不向原型(prototype)添加任何内容

javascript - window.innerHeight 与 React 和 redux

html - 需要 CSS em 帮助

css - ie8 忽略了我所有的字体声明

javascript - 如何让d3旭日从3点钟开始?

javascript - ClassName 只从我的数组中获取最后一项

javascript - 使用 html 按钮更改 php 变量

firefox - CSS - 行高 :0 ignored in XHTML strict in Firefox