使用JavaScript或jQuery定义全局CSS类?

Mai*_*tor 16 javascript css jquery html5 styles

有没有办法使用JavaScript或jQuery设置全局类的CSS?也就是说,附加.my_class { foo:bar }<style/>页面的标签?

spa*_*n12 24

纯javascript -

var style=document.createElement('style');
style.type='text/css';
if(style.styleSheet){
    style.styleSheet.cssText='your css styles';
}else{
    style.appendChild(document.createTextNode('your css styles'));
}
document.getElementsByTagName('head')[0].appendChild(style);
Run Code Online (Sandbox Code Playgroud)

  • @vastlysuperiorman支持任何版本的IE是错误的. (4认同)
  • 嗯,有两个正确的答案......通过 Math.random() 选择。 (3认同)
  • 虽然两个答案都可以为给定的问题提供正确的解决方案,但出于性能方面的原因,我更愿意在不尝试支持旧版IE的情况下使用纯JavaScript。 (3认同)

kam*_*uel 21

是的,你可以在jQuery中做到这一点:

var styleTag = $('<style>.my_class { foo: bar; }</style>')
$('html > head').append(styleTag);
Run Code Online (Sandbox Code Playgroud)

它只需<style>在末尾添加标记即可<head>.

  • 嗯,有两个正确的答案......通过 Math.random() 选择。 (2认同)