我有一个keyboard.css文件和一个keyboard.js文件,我正在尝试更改css规则
.ui-keyboard div { font-size: 1.1em; }
我想更改字体大小。有没有办法做到这一点,而不使用
$(".ui-keyboard div").css()
?
我想在渲染元素之前更改值,我想在构造元素时传递值
$('.onScreenKeyboard').keyboard({
zoomLevel: 2
});
编辑:为了澄清这一点,目标是有办法改变字体大小,而不必去编辑CSS上的值。我想在库中创建一个选项:
在构造函数中我检查选项并更改元素
//set Zoom Level
if(o.zoomLevel){
//Change CSS Here.
}
答案 0 :(得分:2)
也许您正在寻找CSSStyleSheet
的insertRule
和deleteRule
之类的内容。
这是我刚才写的一些代码,让我修改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;
}
};
您可以通过直接为构造函数CSS
提供<style>
节点,或者直接提供 StyleSheet ,然后使用带有索引的.edit
来使用它规则和您想要的新规则。 e.g。
// get StyleSheet
var mycss = new CSS(document.querySelector('style[src="keyboard.css"]'));
// edit rule 0
mycss.edit(0, '.ui-keyboard div { font-size: 5em; }');
答案 1 :(得分:0)
将以下css添加到元素中,最初您不会显示它,直到您通过库更改样式属性然后显示它。
.ui-keyboard div {
font-size: 1.1em;
display: none;
}
您还可以通过执行以下操作来更改字体大小:
[element].style.fontSize = "25px";