Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改文件中的CSS值_Javascript_Jquery - Fatal编程技术网

Javascript 更改文件中的CSS值

Javascript 更改文件中的CSS值,javascript,jquery,Javascript,Jquery,我有一个keyboard.css文件和一个keyboard.js文件,我正在尝试更改css规则 .ui-keyboard div { font-size: 1.1em; } 我想更改字体大小。有没有不使用 $(.ui键盘div”).css() 我想在渲染元素之前更改该值,我想在元素的构造中传递该值 $('.onScreenKeyboard').keyboard({ zoomLevel: 2 }); 编辑:为了澄清这一点,我们的目标是找到一种改变字体大小的方法,而不必去编辑CSS上的值

我有一个keyboard.css文件和一个keyboard.js文件,我正在尝试更改css规则

.ui-keyboard div { font-size: 1.1em; }
我想更改字体大小。有没有不使用
$(.ui键盘div”).css()

我想在渲染元素之前更改该值,我想在元素的构造中传递该值

$('.onScreenKeyboard').keyboard({
    zoomLevel: 2
});
编辑:为了澄清这一点,我们的目标是找到一种改变字体大小的方法,而不必去编辑CSS上的值。我想在库中创建一个选项来执行以下操作:

在构造函数中,我检查选项并更改元素

//set Zoom Level
if(o.zoomLevel){
    //Change CSS Here.
}

将以下css添加到元素中,在运行库之前,首先不会显示它,然后更改样式属性并显示它

.ui-keyboard div {
     font-size: 1.1em;
     display: none;
}
您也可以在不使用jQuery的情况下通过以下操作更改字体大小:

[element].style.fontSize = "25px";

也许你在找像s和的东西

下面是我不久前编写的一些代码,让我可以修改CSS规则

function CSS(sheet) {
    if (sheet.constructor.name === 'CSSStyleSheet') this.sheet = sheet;
    else if (sheet.constructor.name === 'HTMLStyleElement') this.sheet = sheet.sheet;
    else throw new TypeError(sheet + ' is not a StyleSheet');
}
CSS.prototype = {
    constructor : CSS,
    add: function (cssText) {
        return this.sheet.insertRule(cssText, this.sheet.cssRules.length);
    },
    del: function (index) {
        return this.sheet.deleteRule(index);
    },
    edit: function (index, cssText) {
        var i;
        if (index < 0) index = 0;
        if (index >= this.sheet.cssRules.length) return this.add( cssText );
        i = this.sheet.insertRule(cssText, index);
        if (i === index) this.sheet.deleteRule(i + 1);
        return i;
    }
};

您需要先呈现元素,然后才能通过javascript对其进行操作。因此,答案是否定的。不过,您可以在服务器端执行此操作。是的-如果您可以控制页面的HTML,只需使用.ui键盘div{font size:yoursize em;}覆盖样式即可调用css文件后,如何在稍后声明的另一个css文件中覆盖
keyboard.css
中的样式规则,或者在包含
keyboard.css
后在本地页面中添加内部
规则?这可能是的副本,您可以将元素渲染出视口,然后在您已经完成了初始化操作。这看起来很有趣,我会进一步研究。
// get StyleSheet
var mycss = new CSS(document.querySelector('style[src="keyboard.css"]'));
// edit rule 0
mycss.edit(0, '.ui-keyboard div { font-size: 5em; }');