javascript更改css声明
我是jQuery的初学者,了解addClass()的用法,但我经常想知道,与其向元素添加类,不如更改类的含义如何 例如,我有一个表行:javascript更改css声明,javascript,jquery,css,Javascript,Jquery,Css,我是jQuery的初学者,了解addClass()的用法,但我经常想知道,与其向元素添加类,不如更改类的含义如何 例如,我有一个表行: <tr> <td class="somethingIMayNotWantToSee">A</td> <td >B</td> <td >C</td> </tr> 到 或者,当页面加载时,系统中已经设置了 使用文档。样式表可以帮助您解决此问题。这
<tr>
<td class="somethingIMayNotWantToSee">A</td>
<td >B</td>
<td >C</td>
</tr>
到
或者,当页面加载时,系统中已经设置了 使用
文档。样式表可以帮助您解决此问题。这是可能的。从技术上讲,使用javascript编辑页面上任何样式声明的样式属性都是可能的,不幸的是,直到最近,不同的实现在何处、何时以及如何执行这一操作之间几乎没有兼容性
如果您确实希望以这种方式更改页面的CSS,我建议您访问MDN页面,该页面包含有关如何使用javascript操作CSSOM的信息。CSSStyleSheet.insertRule()方法将新的/附加样式规则插入当前样式表。
我们可以使用insertRule和addRule(按要求)方法向预定义类添加/追加新规则,如下所示:
function addCSSRule(sheet, selector, rules,index) {
if(sheet.insertRule) {
sheet.insertRule(selector + "{" + rules + "}", index);
}
else {
sheet.addRule(selector, rules, index);
}
//if -else is used because some browsers don't support insertRule
//and some don't support addRule
}
//我们可以把它当作
addCSSRule(document.styleSheets[0], "header", "float: left",-1);
从技术上讲,你可以做到。。。但是我不会建议它去看@ŠimeVidas只是为了证明这是可能的…@ŠimeVidas我们已经给出了不这样做的建议。。。。但是知道一些事情是可以做的,并且与实际使用它有什么不同。。。有一些最佳实践很重要。。。但是OP仍然可以通过代码了解它的可能性我同意这不是一个好的实践。不过,知道如何做到这一点很有趣。
function addCSSRule(sheet, selector, rules,index) {
if(sheet.insertRule) {
sheet.insertRule(selector + "{" + rules + "}", index);
}
else {
sheet.addRule(selector, rules, index);
}
//if -else is used because some browsers don't support insertRule
//and some don't support addRule
}
addCSSRule(document.styleSheets[0], "header", "float: left",-1);