Javascript 创建创建样式表的模块
我试图用js向css添加规则,我遇到了这行代码。我不知道这个返回是如何工作的,我怎么可能在我自己的项目中重写它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 = {
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();
您走在正确的轨道上,需要做一些调整(请参见注释):
…然后使用
工作表
添加规则。或者在对象原型中添加一个方法,该方法定义了这方面的规则。样式表样式是否适用于整个文档或特定元素?非常感谢您的解释,现在一切都清楚了,尽管我觉得自己没能想出解决方案很傻。