Javascript 创建创建样式表的模块

Javascript 创建创建样式表的模块,javascript,jquery,css,Javascript,Jquery,Css,我试图用js向css添加规则,我遇到了这行代码。我不知道这个返回是如何工作的,我怎么可能在我自己的项目中重写它 var sheet = function() { var style = document.createElement('style'); document.head.appendChild(style); return style.sheet; }(); 理想情况下,我希望将其包装在一些模块中,例如 var AddCssStyles = {

我试图用js向css添加规则,我遇到了这行代码。我不知道这个返回是如何工作的,我怎么可能在我自己的项目中重写它

var sheet = function() {    
    var style = document.createElement('style');
    document.head.appendChild(style);   
    return style.sheet;
}();
理想情况下,我希望将其包装在一些模块中,例如

var AddCssStyles = {
    makeSheet: function(){
        this.stylesheet = document.CreateElement...
        // return a stylesheet for later use
    }
}
var navigationHeight = Object.create(AddCssStyles);
navigationHeight.makeSheet();
这将允许我使用navigationHeight.stylesheet访问工作表以进行更改

我不知道这个回报是怎么回事

这段代码创建了一个函数,然后立即调用它,丢弃了该函数。这就是靠近末尾的
()
所做的(调用函数)。因此,结果是运行函数中的代码,创建
style
元素,并返回结果
style
元素的
sheet
属性,然后作为
sheet
变量保留

我怎么可能在自己的项目中重写它呢

var sheet = function() {    
    var style = document.createElement('style');
    document.head.appendChild(style);   
    return style.sheet;
}();
理想情况下,我希望将其包装在一些模块中,例如

var AddCssStyles = {
    makeSheet: function(){
        this.stylesheet = document.CreateElement...
        // return a stylesheet for later use
    }
}
var navigationHeight = Object.create(AddCssStyles);
navigationHeight.makeSheet();
您走在正确的轨道上,需要做一些调整(请参见注释):


…然后使用
工作表
添加规则。或者在对象原型中添加一个方法,该方法定义了
这方面的规则。样式表

样式是否适用于整个文档或特定元素?非常感谢您的解释,现在一切都清楚了,尽管我觉得自己没能想出解决方案很傻。