代码之家  ›  专栏  ›  技术社区  ›  David Hellsing

创建动态内联样式表

  •  13
  • David Hellsing  · 技术社区  · 16 年前

    使用js和/或jQuery创建动态样式标记的最佳方法是什么?

    var style= jQuery('<style>').text('.test{}');
    

    var style = document.createElement('style');
    style.innerHTML='.test{}';
    

    innerHTML innerText

    我怀疑 cssText 与此有关,但我不知道怎么做。

    3 回复  |  直到 16 年前
        1
  •  10
  •   kennebec    16 年前

    在IE中,向样式表添加正确呈现的文本需要与其他浏览器不同的语法。

       document.addStyle= function(str, hoo, med){
         var el= document.createElement('style');
         el.type= "text/css";
         el.media= med || 'screen';
         if(hoo) el.title= hoo;
         if(el.styleSheet) el.styleSheet.cssText= str;//IE only
         else el.appendChild(document.createTextNode(str));
         return document.getElementsByTagName('head')[0].appendChild(el);
        }
    
        2
  •  1
  •   Martijn Laarman    16 年前

    这种动态生成css规则的方法即使有效也会有缺陷。我完全不理他 <style> 插入超过30个后的图元(请参见 http://support.microsoft.com/kb/262161

    jquery.rule 用于通过javascript操作css规则的插件。

        3
  •  0
  •   Joel L    16 年前

    document.styleSheets ,以及 addRule() 方法。