动态更改注入的CSS类......好吗? ...坏?
我发现'需要'来修改我注入到javascript中的标头的CSS类。因为我动态地构建了类并将其注入到头文件中,所以我发现修改Class的文本并将其放回到CSS类定义中更容易,从而更改它。
通过注入,我的意思是:
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = ".classname { ...css text... }";
document.getElementsByTagName('head')[0].appendChild(style);
通过修改类,我的意思是简单地更改文本:
{ ...css text... }
并将其放回去:
style.innerHTML = ".classname { ...new css text... }";
我之前真的没有看到这件事,并且问我是否有理由不经常这样做? ......也就是说,“这是一种不好的做法吗?”也许“这可能不起作用的浏览器/设备组合?”
谢谢。
答案 0 :(得分:3)
这是一种不好的做法。 CSS类应该有一个定义。有条件地修改类会使您的代码难以遵循并且难以维护。
正确的方法是为每个条件创建一个单独的CSS类,或者使用Javascript直接修改DOM。