我正在将 svg 文本从粗体更改为正常,然后再更改为正常,没有问题。喜欢:
if ( boldyze_it ){
document.getElementById(zz).style.fontWeight = "bold";
}else{
document.getElementById(zz).style.fontWeight = "normal";
}
我希望有一个完整的样式更改,从而更改 css 类。像那样:
if ( boldyze_it ){
document.getElementById(zz).className = "emphit";
}else{
document.getElementById(zz).className = "clear";
}
和一些 css 声明,例如:
.emphit {
font-weight : bold;
}
.clear{
font-weight : normal;
}
但是现在,我没有任何效果。我是不是搞砸了什么,或者只是 css 类的动态更改不适用于我浏览器中的 svg?
坦克!
最佳答案
className
是一个 HTML DOM 属性。它不适用于 SVG。使用 setAttribute()
代替:
if ( boldyze_it ){
document.getElementById("zz").setAttribute("class", "emphit");
}else{
document.getElementById("zz").setAttribute("class", "clear");
}
关于javascript - 是否考虑了 svg 文本上 css 类的动态变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551556/