添加CSS样式已使javascript函数停止工作

添加CSS样式已使javascript函数停止工作,javascript,html,css,Javascript,Html,Css,我创建了这个javascript函数来更改SVG中吉他字符串的颜色。最初,SVG在标记中定义了“stroke”颜色,此时函数起作用,因此当我按下按钮时,字符串“e-low”的颜色发生了变化 但是,我决定将CSS默认样式添加到笔划颜色中(您可以在代码的结尾处看到),因为我希望具有功能,以便在再次按下按钮时,颜色返回到样式部分中定义的默认颜色。由于我添加了这个,并将SVG中的颜色更改为“无”,javascript函数停止工作,颜色没有任何变化,我不知道为什么 在添加css样式元素之前 函数svgM

我创建了这个javascript函数来更改SVG中吉他字符串的颜色。最初,SVG在标记中定义了“stroke”颜色,此时函数起作用,因此当我按下按钮时,字符串“e-low”的颜色发生了变化

但是,我决定将CSS默认样式添加到笔划颜色中(您可以在代码的结尾处看到),因为我希望具有功能,以便在再次按下按钮时,颜色返回到样式部分中定义的默认颜色。由于我添加了这个,并将SVG中的颜色更改为“无”,javascript函数停止工作,颜色没有任何变化,我不知道为什么

在添加css样式元素之前

函数svgMod(){
var s=document.getElementById(“e-low”);
s、 setAttribute(“笔划”,“000000”);
}
#电子字符串,
#b字串,
#g字串,
#d字串,
#a字串,
#e-low{
冲程:#adad8b;
}

确保您拥有正确的
viewBox
和SVG元素的适当大小,我刚刚添加了一个随机的
viewBox
来查看吉他弦

您可以在中阅读有关viewBox的更多信息

viewBox属性允许您指定一组给定的 图形拉伸以适合特定的容器元素

正如@CBroe提到的,使用
s.style.stroke='#000000'
更适合修改元素的样式

函数svgMod(){
var s=document.getElementById(“e-low”);
s、 style.stroke=“#000000”;
}
#电子字符串,
#b字串,
#g字串,
#d字串,
#a字串,
#e-low{
冲程:#adad8b;
}


测试1
您是否尝试过使用
s.style.stroke='…'
替代?CSS样式覆盖SVG属性。